服务器性能测试方法培训文档--本人于2014年2月编写

前言:本人2014年2月18日编写的服务器性能测试培训文档,供新员工学习。

地址:http://linuxpython.blog.51cto.com/10015972/1643910

第一部分:服务器性能测试

一、了解测试工具sysbench

sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。

数据库目前支持MySQL/Oracle/PostgreSQL

二、学习安装sysbench

1.编译安装

#wget  -c http://sourceforge.net/projects/sysbench/files/sysbench/0.4.12/sysbench-0.4.12.tar.gz/download

#tar zxvf  sysbench-0.4.12.tar.gz

#cd sysbench-0.4.12

#./configure && make && make install

如果需要测试Oracle/PostgreSQL,则在configure时需要加上--with-oracle或者--with-pgsql参数

2.debian 源安装

apt-get install sysbench

三、学习使用sysbench

测试项目:

fileio �C File I/O test

cpu �C CPU performance test

memory �C Memory functions speed test

threads �C Threads subsystem performance test

mutex �C Mutex performance test(互斥性能测试)

oltp �C OLTP test

指令: prepare(测试前准备工作) run(正式测试) cleanup(测试后删掉测试数据) help version

1.cpu测试 ./sysbench --test=cpu --cpu-max-prime=20000 run

2.线程数测试            ./sysbench --test=threads --num-threads=512 --thread-yields=100 --thread-locks=2 run

3.磁盘I/O性能测试 

./sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare

./sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run

./sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup

4.内存测试 ./sysbench --test=memory --num-threads=64 --memory-block-size=8192 --memory-total-size=5G run

5. Mutex测试      

./sysbench --test=mutex --num-threads=1500 --max-requests=2000 --mutex-num=10240 --mutex-locks=100000 --mutex-loops=15000 run

四、学习dd工具测试IO

往磁盘中写入1G文件,检查所消耗的时间,磁盘的传输速率,如下

 dd if=/dev/zero of=img.img bs=1M count=10240

 

 

第二部分:网络性能测试

一、学习使用iperf工具

Iperf是一个网络性能测试工具。可以测试TCPUDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。

1.TCP测试

服务器执行:./iperf -s -i 1 -w 1M '这�Y是指定windows如果是 iperf -s则windwos默认大小为8kbyte/s

客户端执行:./iperf -c host -i 1 -w 1M

其中-w表示TCP window size,host需替换成服务器地址。

2.UDP测试

服务器执行:./iperf -u -s

客户端执行:./iperf -u -c 10.255.255.251 -b 900M -i 1 -w 1M -t 60

其中-b表示使用多少带宽,1G的线路你可以使用900M进行测试。

二、学习使用iptraf工具

Iptraf是一款linux环境下,监控网络流量的一款绝佳的免费小软件,特别是安装到防火墙上,与Iptables一起工作,监控流经防火墙的网络异常,效果非常好。

三、学习使用smokeping工具

Smokeping 主要是监视网络性能,包括常规的 ping,用 echoping 监视 www 服务器性能,监视 dns 查询性能,监视 ssh 性能等。底层也是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示。

第三部分:数据库性能测试

一、学习使用sysbench工具

首先需要创建默认的sbtest数据库,或者使用�Cmysql-db指定一个已经存在的数据库

生成测试数据,引擎为myisam,表大小为1000000条记录

sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 --mysql-user=root --mysql-password=admin --mysql-socket=/tmp/mysqld.sock prepare

执行测试

sysbench --test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 --mysql-user=root --mysql-password=admin --mysql-socket=/tmp/mysqld.sock run

清理现场

./sysbench--test=oltp --mysql-table-engine=myisam --oltp-table-size=1000000 \

--mysql-user=root --mysql-socket=/opt/mysql/run/mysql.sock cleanup

二、学习使用mysqlslap工具

1)执行一次测试,分别100200个并发,执行1000次总查询,测试两种存储引擎

mysqlslap -S /tmp/mysqld.sock -u root -padmin -T -a -c 100,200 --number-of-queries=1000 -x 4 -y 4 -e myisam,innodb -i 5

2)分别50,100,200个并发,执行20次查询

mysqlslap -uroot -padmin --concurrency=50,100,200 --iterations=20 --number-int-cols=4 --number-char-cols=35 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=read --engine=archive,innodb --number-of-queries=200 --verbose --socket=/tmp/mysqld.sock

三、学习使用慢查询工具mysqlsla测试select,update性能

mysqlsla -lt slow  -sf "+select,update" -top 100 -sort c_sum -db  userbehavior dowload_server1-slow.log >num_time.log

 

第四部分:WEB压力测试

一、 学习webbench工具

1. 学习安装webbench

# wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz

# tar zxvf webbench-1.5.tar.gz

# cd webbench-1.5

# make && make install

2. 学习使用webbench

# webbench -c 500 -t 30 http://127.0.0.1/test.jpg

  参数说明:-c表示并发数,-t表示时间()

二、学习loadrunner工具

1.学习安装loadrunner

2.学习使用loadrunner

三、学习ab工具(适用于apache)

1. ab -n1000 -c100 http://www.xxx.com/xx.html

其中-n代表请求数,-c代表并发数

模拟100个并发用户,对一个页面发送1000个请求

 wKiom1VLH93Q2rFsAAFOiEwgl4U520.jpg

学习服务器实时性能分析数据

Iptraf(查网卡带宽)

wKioL1VLIamztGRjAAHZjh6J-BE610.jpg

Top (查CPU,MEMLOAD等性能情况)

wKiom1VLIF-B-v5IAASsMwYNxLc957.jpg

Vmstat 3(CPU性能检查)

wKiom1VLIIKQrkFQAAQUUJOR2jE952.jpg

Iostat �Cx 3(IO实时情况)

wKioL1VLIhnRlrs-AAJL4ZHP69I741.jpg

                                                                                                         


本文出自 “黄怡善的运维博客” 博客,谢绝转载!

你可能感兴趣的:(linux,服务器性能)