资源描述
如有你有帮助,请购买下载,谢谢!
在项目上线之前,都需要做,目的是看下我们的网站能抗住多少的压力,能承担多少
并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉。
一、Webbench 测试并发
Webbench 是下的一个网站压力测试工具,能测试处在相同硬件上,不同服务的性能
以及不同硬件上同一个服务的运行状况。webbench 的标准测试可以向我们展示服务器的
两项内容:每分钟相应请求数和每秒钟传输数据量。webbench 最多可以模拟 3万个并发
连接去测试网站的负载能力。
测试的环境是 Linux Ubuntu
1、安装
1.1 安装 ctags
apt-get install exuberant-ctags
ctags 为 webbench 的依赖
1.2 下载安装
官网:~cz210...
root@corwien:~# wget ~cz210552/distfiles/webbench-
root@corwien:~# tar zxvf webbench-
root@corwien:~# cd webbench-1.5/
root@corwien:~/webbench-1.5# make
root@corwien:~/webbench-1.5# make install
root@corwien:~/webbench-1.5# webbench
webbench [option]... URL
-f|--force Don't wait for reply from .
-r|--reload Send reload request - Pragma: no-cache.
-t|--time <sec> Run benchmark for <sec> seconds. Defaul
-p|--proxy <server:port> Use proxy server for request. -c|--clients <n> Run <n> HTTP clients at once. Default -9|--http09 Use HTTP/0.9 style requests. -1|--http10 Use HTTP/1.0 protocol. -2|--http11 Use HTTP/1.1 protocol. --get Use GET request method.
--head Use HEAD request method.
--options Use OPTIONS request method. --trace Use TRACE request method. -?|-h|--help This information.
-V|--version Display program version.
2、测试
用法:
// webbench -t
并发数 -c 运行测试时间 URL
1页
如有你有帮助,请购买下载,谢谢!
webbench -c 100 -t 10
这里使用做个试验 ^_^ :
测试结果:
结果分析:
每秒钟响应请求数:1443/60= X,每秒钟传输数据量 2691621
pages/sec bytes/sec 。
当并发 500 时,成功请求 1402 个,已经显示有 41 个连接 failed 了,说明超负荷了。
3、小结:
1、压力及工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发 100 时观察一下网站负载是多少、打开
页面是否流畅,并发 200 时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又
是多少;
3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因
为这些页面占整个网站访问量比重较大。
备注:webbench 做压力及性能测试时,该软件自身也会消耗 CPU 和内存资源,为
了测试准确,建议将 webbench 的服务器上,已达到测试数据更加精确。 安装在其他
二、实战
上边学习了怎样使用 webbench 来做压力测试,现在就用这个工具来测试下自己的博
客,我的博客服务器使用的是阿里云 ECS ,当并发由 100 500 看下服务器的 CPU
到 时,
使用率和内存使用情况,当并发数过多时,CPU 不会被占用完,网站此时还能否正常访 会
问,我们的目的就是测出网站能抗住多少的并发量。
1、使用 top 命令查看服务器资源使用情况
在实测之前,首先学下 top 的参数含义: 命令
top 是 Linux用的性能分析工具,能够实时显示系统中各个进程的资源占用
命令 下常
状况,类似于的任务管理器。
top 系统当前的进程和其他状况,
显示 是一个动态显示过程, 可以通过用户按键来不断 即
刷新当前状态. 果在前台执行该命令,
如 它将独占前台, 到用户终止该程序为止.
直 比较准确的
说,top 命令提供了实时的对系统处理器的状态监视. 显示系统中 CPU
它将 最"敏感"的任
务列表. 命令可以按 CPU . 使用和执行时间对任务进行排序;而且该命令的很多
该 使用 内存
特性都可以通过交互式命令或者在个人定制文件中进行设定.
root@hey:~# top -d 2
top - 01:22:59 up 690 days, 9:42, 1 user, load average
Tasks: 117 total, 2 running, 115 sleeping, 0 stopped,
%Cpu(s): 0.0 us, 0.5 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.
KiB Mem: 1016272 total, 886640 used, 129632 free,
KiB Swap: 1048572 total, 37120 used, 1011452 free.
PID USER PR NI VIRT RES SHR S %CPU %MEM
15875 root 20 0 139156 15048 9420 S 0.5 1.5
1 root 20 0 33372 1388 320 S 0.0 0.1
2页
如有你有帮助,请购买下载,谢谢!
2 root 20 0 0 0 0S 0.0 0.0
统计信息区前五行是系统整体的统计信息。第一行是任务队列信息,同 uptime 命令
的执行结果。其内容如下:
01:22:59 当前时间
up 690 days, 系统运行时间,格式为 天,时:
9:42, 分
1 user, 当前登录用户数
load average: 系统负载,即任务队列的平均长度。三个数值分别为 0.09, 0.05, 0.05
1分钟、5分钟、15 分钟前到现在的平均值。
第二、三行为进程和 CPU 的信息。当有多个 CPU 时,这些内容可能会超过两行。内
容如下:
total 进程总数
running 正在运行的进程数
sleeping 睡眠的进程数
stopped 停止的进程数
zombie 僵尸进程数
Cpu(s):
0.3%用户空间占用 CPU
us 百分比
1.0%内核空间占用 CPU
sy 百分比
0.0%用户进程空间内改变过优先级的进程占用 CPU
ni 百分比
98.7% id 百分比 空闲 CPU
0.0% 等待输入输出的 CPU
wa 时间百分比
0.0%hi CPU
:硬件 中断占用百分比
0.0%si :软中断占用百分比
0.0%st :虚拟机占用百分比
最后两行为内存信息。内容如下:
Mem:
191272k 物理内存总量 total
173656k 使用的物理内存总量 used
17616k 空闲内存总量 free
22052k buffers 用作内核缓存的内存量
Swap:
192772k 交换区总量 total
0k used 使用的交换区总量
192772k 空闲交换区总量 free
123988k cached区总量,
缓冲的交换 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的
交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小, 的内存再次被换出时可不必再对 相应
交换区写入。
3页
展开阅读全文