jmeter压测
相关指令
pstree - p 端口号
查询有多少个线程运行
pstree - p 端口号 | wc -l
统计个数
top - H
查看机器的性能
压测相关测试数据
5000个线程数
出现有Http请求错误
查询此时服务器线程53
发现容量问题
server端并发线程数上不去
tomcar的默认
等待队列长度为100
最小工作线程数为10
最大连接数为10000
最大工作线程数为200
默认配置下,连接超过10000后出现拒绝连接情况
默认配置下,触发的请求超过200(最大工作线程数)+100(等待队列长度)后拒绝处理
参数设置
经验值:4核8g的虚拟机时800—最大工作线程数为200
最大连接数为10000
最大工作线程数为800
最小工作线程数为100
设置完成后:查询此时服务器线程116
单台机器:两百多的TPS
定制化内嵌Tomcat开发
keepAliveTimeOut:多少毫秒后不响应断开keepalive
maxKeepAliveRequests:多少次请求后keepalive断开失效
使用WebServerFactoryCustomizer《 configureableServletWebServerFactory》定制化内嵌tomcat配置
单Web容器上限
线程数量:4核cpu8G内存单进程调度线程数800-1000以上后既花费巨大的时间在cpu调度上
等待队列长度:队列做缓冲池用,但也不能无限长,消耗内存,出入队也消耗cpu
Mysql数据库QPS容量问题
主键查询:千万级别数据 = 1-10毫秒
唯一索引查询:千万级别数据 = 10-100毫秒
非唯一索引查询:千万级别数据 = 100-1000毫秒
无索引:百万级数据 = 1000毫秒+
Mysql数据库TPS容量问题
非插入更新删除操作:同查询
优化方向
应用服务器做集群
数据库相关操作