设为首页 收藏本站
查看: 3209|回复: 6

[经验分享] web服务器的性能测试及日常监控

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-8-26 08:48:36 | 显示全部楼层 |阅读模式

要想做好Apache的压力测试和日常的监控,肯定是要对http协议以及其工作过程有一定了解的,如果说是通过一些流量分析软件来进行监视的话还好说,一旦直接通过查看Apache的日志来分析流量、查看错误,就变得无从下手了,那么我们先来简单看看http协议是什么

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,适用于分布式超媒体信息系统。常基于TCP的连接方式,目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generationof HTTP)的建议已经提出,HTTP1.1版本中给出一种持续连接的机制。绝大多数的Web开发,都是构建在http协议之上的Web应用。

HTTP协议的主要特点可概括如下:

1.支持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径即可,HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

接下来看看http的请求和响应:

http请求由三部分组成,分别是:请求行、消息报头、请求正文,请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式就像这样:“Method Request-URI HTTP-Version CRLF”,其中 Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行。

请求方法有多种,各个方法的解释如下:

GET    请求获取Request-URI所标识的资源

POST    在Request-URI所标识的资源后附加新的数据

HEAD    请求获取由Request-URI所标识的资源的响应消息报头

PUT    请求服务器存储一个资源,并用Request-URI作为其标识

DELETE    请求服务器删除Request-URI所标识的资源

TRACE    请求服务器回送收到的请求信息,主要用于测试或诊断

CONNECT    保留将来使用

OPTIONS    请求查询服务器的性能,或者查询与资源相关的选项和需求

举例:

GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源。

POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。比如我们在执行搜索动作的时候就会连同我们的搜索内容提交给搜索引擎

HEAD方法与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。

http的请求与Apache监视维护关系不是很密切,所以我们做一般的了解就行,而http的响应则在分析Apache日志的时候扮演者重要的角色。接下来就来仔细看看http的响应部分:

在接收和解释请求消息后,服务器返回一个HTTP响应消息。

HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文,对于我们观察Apache日志来说,了解状态行就已经足够。

状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。

状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求

常见状态代码、状态描述、说明:

200 OK//客户端请求成功

400 Bad Request//客户端请求有语法错误,不能被服务器所理解

401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用

403 Forbidden//服务器收到请求,但是拒绝提供服务

404 Not Found//请求资源不存在,eg:输入了错误的URL

500 Internal Server Error //服务器发生不可预期的错误

503 Server Unavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常




Apache的通用日志格式有两种,common和combined,接下来就来对照一条Apache成功访问的common日志来理解一下这些参数:

192.168.2.101 - - [25/Aug/2013:15:44:15+0800] "GET /log/usage.png HTTP/1.1" 200 2010"http://192.168.2.20/log/" "Mozilla/5.0 (compatible; MSIE 10.0;Windows NT 6.2; Trident/6.0)"

192.168.2.101       -----客户端IP

-                        -----使用identd时才会有信息,一般情况下都是-

-                        -----远程用户(从验证获取到的)

[25/Aug/2013:15:44:15 +0800]                  -----收到请求时的时间

"GET /log/usage.png HTTP/1.1"                -----请求的首行

200                     -----服务器端返回的状态码

2010                   -----除HTTP头以外的返回的字节数

http://192.168.2.20/log/                           -----从哪个页面链接跳转到的此页面

"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT6.2; Trident/6.0)"                  -----用户的User-Agent,简单的可以理解为使用的哪种浏览器

下面来介绍两种压力测试工具和一款日志监控软件,先来简单说明一下我机器的环境以及要安装的源码包:

lOS:Redhat Enterprise Linux AS v5.4

lhttpd-2.2.3-31.el5.i386.rpm

lhttp_load-12mar2006.tar.tar

lwebalizer-2.23-05-src.tgz

工具一:ab

    ab是Apache自带的HTTP压力测试工具,全称是ApacheBench,同微软的WAST、惠普的LoadRunner、QALoad等比起来,它要方便易用得多,是Apache的一个安装组件,所以只需要下载Apache安装后就能使用,该命令位于Apache安装目录下的bin文件夹中。ab专门用于HTTP Server的benchmark testing,可以同时模拟多个并发请求,它的设计意图是描绘当前所安装的Apache的执行性能,主要是显示所安装的Apache每秒可以处理多少个请求。ab没有LR那么强大,但它足够轻便,若只是在开发过程中想检查一下某个模块的响应情况,或者做一些场景比较简单的测试,ab是个不错的选择。

    由于ab是Apache自带的测试工具,不需要我们再去额外安装,那么干脆就直接拿来用即可,要测试一个合法的域名,需要有DNS服务的支持,在这里我用hosts文件来代替DNS服务器的功能,首先要编辑hosts文件:

191309400.jpg

测试

191502492.jpg

191612134.jpg

以上只是简单的举个例子描述一下怎么去使用这个工具,当然,这个工具的参数远不止这些,可以查看帮助一慢慢理解







工具二:http_load

http_load基于linux平台的一种性能测工具。以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能。

它有以下几个优点优点:

1.基于命令行,简单、易于上手

2.小巧轻便,解压缩后不到100k

3.开源,免费

但是也有一定的缺点:

1.仅适用于web页面的性能测试,不适用于访问数据库

2.测试结果分析有限

3.平台依赖linux


安装http_load

191708474.jpg

191749501.jpg

191856879.jpg

192001594.jpg

192313718.jpg

192319922.jpg

192325962.jpg

http_load的使用其实和ab比较相似,主要还是去多多了解其中的参数








工具三:webalizer

Webalizer是用C写的程序,所以其具有很高的运行效率。在主频为200Mhz的机器上,webalizer每秒钟可以分析10000条记录,所以分析一个40M大小的日志文件只需要15秒。

它支持标准的一般日志文件格式(Common Logfile Format),除此之外,也支持几种组合日志格式(Combined Logfile Format)的变种,从而可以统计客户情况以及客户操作系统类型。并且现在webalizer已经可以支持wu-ftpd xferlog日志格式以及squid日志文件格式。支持命令行配置以及配置文件。可以支持多种语言,也可以自己进行本地化工作。支持多种平台,比如UNIX、linux、NT, OS/2 和 MacOS等。

安装webalizer:

192332182.jpg

192346454.jpg

192350606.jpg

192357437.jpg

192402977.jpg

192408118.jpg

* * * * *,从左到右依次代表

  minute     每到多少分钟

    hour       每到多少小时

    day of month     每到一个月的多少天

    month    每到多少个月

    day of week       每到一周的某几天

即每天凌晨1点执行该脚本。

192426877.jpg

192502588.jpg

说明:

-F clf 指明我们的web日志格式为标准的一般日志文件格式(Common Logfile Format)

-p 指定使用递增模式,这就是说每作一次分析后,webalizer会生产一个历史文件,这样下一次分析时就可以不分析已经处理过的部分。这样我们就可以在短时间内转换我们的日志文件,而不用担心访问量太大时日志文件无限增大了。

-n ““指定服务器主机名为空,这个输出紧跟在结果标题后面

-o “www.test.com”指定输出结果标题.

/var/log/httpd/access_log:指定日志文件

192525956.jpg

192539831.jpg

194516958.jpg

这样就能轻松的实现对日志的非常直观的监控了



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-8696-1-1.html 上篇帖子: awstats的安装配置过程详解 下篇帖子: Xcache加速php web服务器 监控

尚未签到

发表于 2013-8-26 12:33:16 | 显示全部楼层
啥时硬件也可以COPY就好了!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-8-26 13:14:03 | 显示全部楼层
美女未抱身先走,常使色狼泪满襟。。。。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-8-26 13:34:42 | 显示全部楼层
不知该说些什么。。。。。。就是谢谢

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-8-26 14:28:03 | 显示全部楼层
比我有才的都没我帅,比我帅的都没我有才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-8-26 14:38:50 | 显示全部楼层
男人在结婚前觉得适合自己的女人很少,结婚后觉得适合自己的女人很多。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

发表于 2013-8-26 15:34:23 | 显示全部楼层
解释就系掩饰,掩饰等于无出色,无出色不如回家休息!!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表