近日部署天亮论坛,完成之后访问量不算特别大,却很卡。所以做了一下压力测试。 分析如下:首先,访问很慢,由外到内可能的原因有:客户端带宽不够、域名配置问题、服务器带宽不够、应用层计算耗时太长等等。
测试如下:
1、客户端网速测试,可以确定的是我本地的网速50M,没有问题。
2、域名配置问题 ...这个中间涉及到阿里云域名解析、nginx反向代理,中间细节稍多,而且网站可以访问成功,如果这里出问题,个人感觉应该会访问不到网址的。
3、服务器带宽测试,这里我们就要对服务器网络IO做一个压力测试了。 测试前,先介绍下测试用到的工具。 (1)一个是在服务器端对网络带宽进行监控 nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。
安装nload: #yum –yinstall gcc-c++ ncurses-devel #tar -zxvfnload-0.7.2.tar.gz #cd /root/nload-0.7.2 #./configure&make&makeinstall 至此安装完毕,接下来我们可以通过nload命令来查看网卡流量了。
查看网络状态:nload eth0
上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。nload默认的是eth0网卡,如果你想监测eth1网卡的流量:#nload eth1。 (2) webbench 一款不错的压测工具
安装webbench: tar zxvfwebbench-1.5.tar.gz cd webbench-1.5 make && makeinstall 使用webbench:
压测结果:
以上只是压测的例子,真实结果就不在这里贴出了。 4、应用计算耗时问题
如果测试发现不是网络io问题,那么就要在应用内部找问题。比如:web服务配置参数问题、应用开发造成cpu、磁盘io、内存占用率过高。(这个大家自己测一下)
5、最后定位到了问题
以上1、3、4测试没有问题,2步骤我想当然的以为,如果域名解析配置问题,那么应该就访问不到网址了,其实不然,以前在二级域名配置过一个该网址的域名,指向的是另一个地址。现在新的网站没有注意,使用了跟原来一样的域名。造成同一个域名对应了两个不同的地址,每次请求过来,都会先去解析成之前那个地址,访问失败后再次解析正确的这个地址,造成非常耗时。
由于粗心造成的问题,以此为鉴吧。 |