随笔分类 -  23.性能优化

摘要:1、统计80端口连接数netstat -nat|grep -i "80"|wc -l 2、统计httpd协议连接数(查看Apache的并发请求数及其TCP连接状态)ps -ef|grep httpd|wc -l 3、统计已连接上的,状态为“establishednetstat -na|grep ES 阅读全文
posted @ 2017-10-16 23:01 moonandstar08 阅读(678) 评论(0) 推荐(0) 编辑
摘要:在一次生产上线后,发现使用的 8086 端口相关的 TCP 连接数竟然多大 6K+ ,有时候甚至会逼近 1w ,这个数量对于一个只是在内部使用的监控系统来说, 无论如何都是无法接受的, 于是开始一系列的排查过程. 本文记录了这个问题的主要解决过程,算是对这一次杀 bug 过程的一个总结. 问题描述 阅读全文
posted @ 2017-10-16 22:47 moonandstar08 阅读(14669) 评论(2) 推荐(1) 编辑
摘要:问题现象 在某个时刻,后端收到了平时4-6倍的请求(保密起见,略去产品和事件),在10分钟后居然没有请求可以接进来 问题原因 经过分析,首先,是后端服务器的线程池满了,线程池满的原因:1.server.xml中maxThread=512,导致超过512的之后的请求只能排队,等待有线程释放后,才能被处 阅读全文
posted @ 2017-10-16 22:34 moonandstar08 阅读(4091) 评论(1) 推荐(0) 编辑
摘要:一、线上系统查看命令 (1)查看系统限制 (2)JVM虚拟机本身限制 (3)查询当前某程序的线程或者进程数 示例: (4)查询当前整个系统已用的线程或者进程数 参见:http://lisiqi.cc/技术/2015/12/24/一次线上多线程bug修复.html (5)内存使用情况查询 参考:htt 阅读全文
posted @ 2017-09-11 21:59 moonandstar08 阅读(332) 评论(0) 推荐(0) 编辑
摘要:在对Redis进行性能优化时,一直想对Redis进行读写分离。但由于项目底层采用spring-data-redis对redis进行操作,参考spring官网却发现spring-data-redis目前(1.7.0.RELEASE)及以前的版本并不支持读写分离。 一、源码分析 spring-data- 阅读全文
posted @ 2017-09-05 21:48 moonandstar08 阅读(4014) 评论(0) 推荐(0) 编辑
摘要:最近发现使用的Tomcat 7会经常假死。前端点击页面无任何反应,打开firebug,很多链接一直在等待服务器的反应。查看服务器的状态,CPU占用很少,最多不超过10%,一般只有2%,3%左右,内存占用倒是接近80, 90%。一开始怀疑是tomcat内存配置不够,但是打开 jvisualvm.exe 阅读全文
posted @ 2017-08-09 22:39 moonandstar08 阅读(1623) 评论(0) 推荐(2) 编辑
摘要:Apache性能监控支持以下指标: Apache吞吐率 Apache并发连接数 Apache并发连接数详细统计,包括读取请求、持久连接、发送响应内容、关闭连接、等待连接 Lighttpd性能监控支持以下指标: Lighttpd吞吐率 Lighttpd并发连接数 Lighttpd并发连接数详细统计,包 阅读全文
posted @ 2017-08-09 22:32 moonandstar08 阅读(1082) 评论(1) 推荐(0) 编辑
摘要:一、CPU 1.良好状态指标 CPU利用率:User Time <= 70%,System Time <= 35%,User Time + System Time <= 70% 上下文切换:与CPU利用率相关联,如果CPU利用率状态良好,大量的上下文切换也是可以接受的 可运行队列:每个处理器的可运行 阅读全文
posted @ 2017-08-09 22:27 moonandstar08 阅读(773) 评论(0) 推荐(0) 编辑
摘要:现象:在使用redis云提供的redis服务后,经常出现connect timeout: 分析和怀疑: 业务端一般认为redis出现问题,就是redis云有问题,人的“正常”思维:看别人错误容易,发现自己难,扯多了, 出现这个有很多原因: (1). 网络原因:比如是否存在跨机房、网络割接等等。 (2 阅读全文
posted @ 2017-08-03 22:59 moonandstar08 阅读(2250) 评论(0) 推荐(0) 编辑
摘要:本文开始会讲解一下redis的基本优化,然后会举一些优化示例代码或实例。最后讲解一下,默认启动redis时,所报的一些警示错误。 一、优化的一些建议 1、尽量使用短的key 当然在精简的同时,不要为了key的“见名知意”。对于value有些也可精简,比如性别使用0、1。 2、避免使用keys * k 阅读全文
posted @ 2017-08-03 21:59 moonandstar08 阅读(11670) 评论(1) 推荐(0) 编辑
摘要:一、连接 二、常用性能分析命令 三、动态修改保存方式 四、latency命令报告 latency latest记录最后的延迟事件记录,每个事件包含以下几个变量(事件名、事件延迟状态时间戳、延迟时间ms、此时间最大延迟) 注意:Unix时间戳转换方式为: 阅读全文
posted @ 2017-07-17 21:45 moonandstar08 阅读(1076) 评论(0) 推荐(0) 编辑
摘要:在慢速网络上Tomcat线程数开到300以上的水平,不配APR,基本上300个线程狠快就会用满,以后的请求就只好等待。但是配上APR之后,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,这时并发的线程数量明显下降,从原来的300可能会马上下降 阅读全文
posted @ 2017-07-13 22:26 moonandstar08 阅读(252) 评论(0) 推荐(0) 编辑
摘要:最近一直在解决线上一个问题,表现是: Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池满了,日志看很多请求超过了1s。 服务器性能很好,Tomcat版本是7.0.54,配置如下: 事后thread dump看其实真正处于RUNNABLE状态的线程很少,绝 阅读全文
posted @ 2017-06-28 22:22 moonandstar08 阅读(542) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示