Amp

Nginx的监控记 —— goaccess监控日志

时光毁灭记忆、已成空白 提交于 2020-08-12 05:11:37
配置选项 配置选项 含义 --enable-debug 使用调试符号进行编译并关闭编译器优化。 --enable-utf8 具有广泛的字符支持编译。 Ncursesw是必需的。 - -enable-geoip=<legacy|mmdb> 与GeoLocation支持一起编译。 必须使用MaxMind的GeoIP。 旧版将使用原始的GeoIP数据库。 mmdb将使用增强的GeoIP2数据库。 - -enable-tcb=<memhash|btree> 与Tokyo Cabinet的存储支持一起编译。 memhash将利用Tokyo Cabinet的内存中哈希数据库。 btree将利用Tokyo Cabinet的磁盘B + Tree数据库 - -disable-zlib 在B + Tree数据库上禁用zlib压缩。 - -disable-bzip 在B + Tree数据库上禁用bzip2压缩。 - -with-getline 动态扩展行缓冲区以解析完整的行请求,而不是使用固定大小的4096。 --with-openssl 使用其WebSocket服务器的OpenSSL支持编译GoAccess 编译 + 安装 goaccess ./configure --prefix=/usr/local/goaccess --enable-utf8 --enable-geoip=legacy -

十亿级数据ES搜索怎么优化

∥☆過路亽.° 提交于 2020-08-12 05:10:49
脉脉原文链接 面试问题 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是5~10s,后面反而就快了,可能就几百毫秒。 你就很懵,每个用户第一次访问都会比较慢,比较卡么?所以你要是没玩儿过 es,或者就是自己玩玩儿 demo,被问到这个问题容易懵逼,显示出你对 es 确实玩儿的不怎么样? 面试题剖析 说实话,es 性能优化是没有什么银弹的,啥意思呢?就是不要期待着随手调一个参数,就可以万能的应对所有的性能慢的场景。也许有的场景是你换个参数,或者调整一下语法,就可以搞定,但是绝对不是所有场景都可以这样。 性能优化的杀手锏——filesystem cache 你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache 里面去。 es 的搜索引擎严重依赖于底层的 filesystem cache,你如果给 filesystem cache 更多的内存,尽量让内存可以容纳所有的 idx segment file 索引数据文件

解密TaurusDB存储端高并发之线程池

和自甴很熟 提交于 2020-08-12 05:08:42
摘要: 为了能加快相关任务的高效执行,TaurusDB采用多线程技术处理的方式,增加处理器单元的吞吐能力,从而提高存储端的执行效率。 1. TaurusDB背景 随着云计算进入2.0时代,数据急剧膨胀,这对实现数据库的高可靠、高性能、高吞吐的目标产生了巨大的挑战。如图1 所示,TaurusDB是华为自研的最新一代企业级具备横向扩展、海量存储能力的分布式数据库,其采用了计算存储分离,一写多读的分布式架构。将原本计算层的高密度存储相关压力下沉到存储层,极大地释放了计算层的算力。但同时将原来的存储IO转移到了网络IO,这也就是意味着,存储层将面临来自计算层风暴级的压力。如果存储层不能快速响应计算层的读写请求,会极大影响用户的使用体验。 图1 TaurusDB整体架构 图2 slice功能组件 从图2可知,TaurusDB的存储层,不单单只做存储相关的工作,也需要大量的算力,比如consolidation生成特定数据页、compation回收旧版本数据、BufferPool缓存热点数据页等任务。为了能加快这些任务的高效执行,我们首先能想到的就是能够并行执行这些任务,也就是采用多线程技术处理的方式,增加处理器单元的吞吐能力,从而提高存储端的执行效率。 2.线程池化设计思想 2.1线程为什么需要池化 首先,线程是稀缺的资源,如果频繁创建和销毁线程的开销是可观的

Nginx

旧街凉风 提交于 2020-08-12 04:49:50
想了解nginx的代理可以先看这篇: https://baijiahao.baiducom/s?id=1652608869911988442&wfr=spider&for=pc nginx常用命令 nginx -t ##检查配置文件,一般修改完配置文件都建议一定先执行这条命令检查一下,无误再继续下一步 nginx –s reload ##重新加载配置文件,动态加载使你可以不用重启nginx nginx - s reopen # 重启 Nginx nginx - s stop # 停止 Nginx nginx配置 我们可以打开nginx的配置文件 nginx.conf 先看看 #user nobody; #Nginx用户及组:用户 组。window下不指定 worker_processes 1; #工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 #错误日志:存放路径。 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application

Discourse 有什么办法可以设置全局通知

故事扮演 提交于 2020-08-12 04:42:25
在 discourse 中有设置全局通知的地方吗? 在 discourse 中有设置全局通知的地方吗? 其实是有的。 Discourse 是有设置全局通知的地方。 比如说我们的网站上的全局通知。 你可以在设置中搜索关键字: global notice 然后在输入框中输入文字文本就可以了,这里是可以支持 HTML 的,所以你可以在这里创建一个链接,让你的用户进入帖子以便于展示更多的内容。 CWIKI.US 的原文链接地址: https://www.cwiki.us/display/CWIKIKB/questions/62620134 来源: oschina 链接: https://my.oschina.net/honeymoose/blog/4286110

利用thinkphp5做读写分离就是这么简单

谁说我不能喝 提交于 2020-08-12 04:40:25
基于ThinkPHP5.1.15+MySQL演示主从同步配置与读写分离解决方案。 软件环境:ThinkPHP5.1.15+MariaDB 10.1.30(主服务器)+MySQL5.7(从服务器)+Win10 两台服务器IP分别为:192.168.199.234、192.168.199.237,已经为两个数据库创建了相同账号密码的账户。 首先我在TP项目的数据库配置文件中,设置了主从配置以及读写分离,配置代码如下: 第二步,修改主服务器的MySQL配置文件my.ini,主要代码如下: 第69行代码是启用二进制日志 第三步,通过show master status;查询主库状态,记录一下二进制日志文件和位置,在从服务器配置的时候要用。 第三步,修改从服务器数据库配置的server-id 默认情况下,server-id都是1,如果要设置主从必须要保存两台的server-id不同,因此只需改从服务器就可以,保存重启MySQL服务: 第四步,在从服务器上设置同步命令 其中,MASTER_LOG_FILE和MASTER_LOG_POS是第二步查询的结果。 第五步,启动slave进行 在从服务器上执行start slave;命令 然后执行show slave status命令,查看slave同步状态。如果Query OK,表示配置正确。 第六步,验证主从配置

获取文章下所有用户ID列表

笑着哭i 提交于 2020-08-12 03:09:35
场景:发布一篇文章,文章设置部门权限,获取这篇文章下拥有权限的用户ID列表 /** * 获取文章下所有用户ID列表 * @param id 文章ID * @return */ public List<Integer> getNewInfoUserIdList2(Integer id) { //根据Id获取文章详细 Info info = infoDao.getInfoById(id); if(null==info || null==info.getId()){ return new ArrayList<>(); } //预存文章下的所有人 List<Integer> userIdList = new ArrayList<Integer>(); //判断文章是否指定权限 if (StringUtil.isNotBlank(info.getBranchIds())) { //获取文章下的指定部门 List<Integer> branchIdList = infoDao.getInfoAuthBranchIdList(info.getId()); //获取部门下的所有用户 if(null!=branchIdList && branchIdList.size()>0){ userIdList = getBrachUserIdLoopId(branchIdList,userIdList);

Saying goodbye to Flash in Chrome

早过忘川 提交于 2020-08-12 03:06:17
Today, Adobe announced its plans to stop supporting Flash at the end of 2020. For 20 years, Flash has helped shape the way that you play games, watch videos and run applications on the web. But over the last few years, Flash has become less common. Three years ago, 80 percent of desktop Chrome users visited a site with Flash each day. Today usage is only 17 percent and continues to decline. This trend reveals that sites are migrating to open web technologies, which are faster and more power-efficient than Flash. They’re also more secure, so you can be safer while shopping, banking, or reading

物联网SIM卡和SIM卡,真的不是一回事

与世无争的帅哥 提交于 2020-08-12 02:00:32
【摘要】 在物联网解决方案中,设备移动上网也需要使用SIM卡。那么,SIM卡是什么?各种SIM卡有什么区别?物联网SIM卡如何选择?本文将为您答疑解惑。 通信进化史 过去几百年间,通信技术经历了天变地异般的发展:数百年前的古代,人们通过“烽火传讯”、“信鸽传书”、“击鼓传声”、“旗语”等利用自然界的基本规律和人的基础感官(视觉,听觉等)可达性建立通信系统。 到了19世纪中叶以后,随着电报、电话的发明,电磁波的发现,人类通信领域产生了根本性的巨大变革,从此,人类的信息传递可以脱离常规的视听觉方式,用电信号作为新的载体,同此带来了一系列技术革新,开始了人类通信的新时代。 利用电和磁的技术,来实现通信的目的,是近代通信起始的标志。 到了20世纪80年代,随着数字传输、程控电话交换通信技术的应用,进入了移动通信和互联网通信时代。 21世纪之后,从人与人的通信时代,跨入了物与物的互联、感知的智能时代。 而本文的主角,SIM卡,自从1991年诞生后,至今还在不断发展,是通信技术中不可或缺的一部分。 SIM卡进化史 大家都知道,手机上插入一张SIM卡,就可以连到运营商网络,实现打电话等通信功能,没有了它就是一部“裸机”,就不能接入网络运营商进行通信服务。SIM卡作为网络运营商对于我们身份辨别的证件,其起到了重要的作用。 SIM卡(Subscriber Identity Module 客户识别模块

FreeRTOS互斥信号量

て烟熏妆下的殇ゞ 提交于 2020-08-12 01:18:09
本文完整版地址: http://http://bbs.armfly.com/read.php?tid=21381 本章节讲解 FreeRTOS 重要的资源共享机制 --- 互斥信号量( Mutex ,即 Mutual Exclusion 的缩写)。 注意,建议初学者学习完前两个章节的信号量后再学习本章节的互斥信号量 。 FreeRTOS 中互斥信号量的源码实现是基于消息队列实现的。 本章教程配套的例子含 Cortex-M3 内核的 STM32F103 和 Cortex-M4 内核的 STM32F407 以及 F429 。 23.1 互斥信号量 23.2 互斥信号量 API 函数 23.3 实验例程说明 23.4 总结 23.1 互斥信号量 23.1.1 互斥信号量的概念及其作用 互斥信号量的主要作用是对资源实现互斥访问,使用二值信号量也可以实现互斥访问的功能,不过互斥信号量与二值信号量有区别。下面我们先举一个通过二值信号量实现资源独享,即互斥访问的例子,让大家有一个形象的认识,进而引出要讲解的互斥信号量。 运行条件: u 让两个任务 Task1 和 Task2 都运行串口打印函数 printf ,这里我们就通过二值信号量实现对函数 printf 的互斥访问。如果不对函数 printf 进行互斥访问,串口打印容易出现乱码。 u 用计数信号量实现二值信号量只需将计数信号量的初始值设置为