性能测试 -- 实际例子

时间:2022-04-24
本文章向大家介绍性能测试 -- 实际例子,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1、环境申请搭建,压测机器的申请;

2、压测场景设计和思考;

3、压测脚本的编写和修改;

4、压测开始,调试,开始正式压测;

5、压测结果分析,定位问题,重新压测;

环境:

应用机器,mock机器,memcache机器,数据库服务器,客户端机器(由于公司有性能平台这里就没考虑),涉及到软件的安装,注意环境变量!!

涉及到的修改 应用的需要的环境变量,/etc/hosts文件,

-XX:PermSize=512m 持久代

-Djava.rmi.server.hostname=111.111.111.111 jmx配置的相关,jmx是java自带的一些扩展,可以用来监控jvm情况

OOM --  Out of Memory,内存溢出,之前碰到这个问题,是由于 PermSize 过小导致的 ,mock服务加载mock模板是服务启动时,把所有的mock模板加载到内存中,

  1. 数据库参数调整

root@127.0.0.1 : (none) 11:50:32> show variables like 'innodb_buffer_pool_size';

+-------------------------+------------+

| Variable_name           | Value      |

+-------------------------+------------+

| innodb_buffer_pool_size | 4294967296 |

+-------------------------+------------+

1 row in set (0.00 sec)

由于192.168.xxx.xxx挂载的数据文件磁盘为非SSD磁盘,磁盘IO性能比较差,而目前主机的系统总共内存为189GB。 innodb_buffer_pool_size从4G调整80GB (一般innodb_buffer_pool_size配置为主机内存的70%~80%)。

/etc/my.cnf (修改保存然后重启数据库)

innodb_buffer_pool_size=80G

service mysqld stop #停

service mysqld start #起

mysql -uroot -h127.0.0.1 #检查修改已经生效

root@127.0.0.1 : (none) 12:42:21> show variables like 'innodb_buffer_pool_size';

+-------------------------+-------------+

| Variable_name           | Value       |

+-------------------------+-------------+

| innodb_buffer_pool_size | 85899345920 |

+-------------------------+-------------+

1 row in set (0.00 sec)

  1. 系统最大文件句柄数调整为13万:

/etc/security/limits.conf 

*           soft   nofile       130000

*           hard   nofile       130000

如果系统登录用户默认shell是bash shell,需要使用下面命令实现:

ulimit -n 130000