压力测试
压力测试
在运维工作中,压力测试是一项很重要的工作。比如在一个网站上线之前,能承受多大访问量、在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证
我们通常说的网站流量
并发模式与
并发指标
-
并发用户、并发、VU:一般用来表示虚拟用户(Virutal User,简称
VU ) ,对应到Jmeter 的线程组线程,对应到Loadrunner 的并发Concurrency ,在本文都是一个意思。 -
每秒发送请求数、RPS:指客户端每秒发出的请求数,有些地方也叫做
QPS ,本文不单独讨论“事务”所以可以近似对应到Loadrunner 的TPS (Transaction Per Second, 每秒事务数) ,本文统一叫做RPS 。 -
响应时间、RT:对,没错,这个就是你理解的那个意思,从发起请求到完全接收到应答的时间消耗。
根据“
并发数
数据库压力测试
sudo aptitude install sysbench
echo "create database sbtest; grant all on sbtest.* to 'sbtest'@'localhost';" | mysql
sysbench --test=oltp --num-threads=10 prepare
sysbench --test=oltp --num-threads=10 run
sysbench --test=oltp --num-threads=16 --max-requests=100000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-user=root --db-driver=mysql --oltp-test-mode=complex run
随着