性能测试的目的是为了检验系统能否满足客户的性能需求,若性能需求无法满足时,则
要考虑对系统进行性能调优,一般用排除法:
1、首先考虑网络方面问题:
使用ping命令查看与目标服务器的连接是否正常、传输速度的快慢。通过提升服务器的带宽,看响应时间是否相应降低。
2、考虑数据库的问题:
可以单独去压测数据库,查看数据库的最大连接数和SQL语句的执行时间,索引命中率和sleep等待时间等。
在MySQL中,您可以通过以下SQL命令查看当前的最大连接数设置:
SHOW VARIABLES LIKE 'max_connections';
查询结果:max_connections =2000
这个值代表了MySQL服务器允许的最大并发连接数。
备注:SHOW STATUS LIKE 'Threads_connected'; --查看当前连接数
如果您想要修改最大连接数,可以在MySQL的配置文件(通常是my.cnf
或my.ini
)中设置max_connections
参数,并重启MySQL服务。
[mysqld]
max_connections = 1000
设置完成后,记得重启MySQL服务,Linux 指令:sudo systemctl restart mysql.service。
请注意,设置max_connections
时要考虑到服务器的硬件资源限制,特别是内存和CPU。设置过高的max_connections
可能会导致服务器资源不足,反而降低性能。
3、考虑 Apache/Nginx等中间件的问题:
查看中间件设置的最大连接数是否合理,如果设置的连接数太小,会话数超过设定的最大连接数时会导致等待时间变长,出现响应超时情况
events {
worker_connections 1024; # 每个worker进程的最大连接数
}
http {
# ...
}
# 设置worker进程的数量
worker_processes auto; # 'auto'将自动设置为CPU核心的数量
在调整这些值之后,需要重新加载或重启Nginx以使配置生效。可以使用以下命令进行重新加载
重启nginx三种方法
nginx -s reload
service nginx restart
systemctl restart nginx
4、考虑服务器的硬件配置:
如内存、CPU、磁盘读写速度等,可以用top命令来监控,也可以使用nmom工具来监控,nmom会把监控的数据形成表格形式,方便我们查看。
5、最后考虑开发代码写的好不好,处理时间长不长的问题。
原文链接:https://blog.csdn.net/nhb687096/article/details/130766866