如何测试和调试Apache服务器
来源:asp之家 发布时间:2010-05-07 18:32:00
Apache是运行在Linux操作系统上的头号Web服务器。很多小地方都可以用来调整Apache的性能,并降低它对系统资源的影响。其中一个就是调整内存使用率,当然达到这一目的可能还是需要花点功夫的。
例如,通过ps来确定httpd线程的内存使用率,可以输入下面的命令:
# ps -U apache -u apache u
USERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMAND
apache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2
...
上面这段输出显示了单个httpd进程使用了50 MB的RSS(驻留集大小)内存(或者非交换物理内存),以及149 MB的VSZ(虚拟)内存。这当然在很大程度上取决于你在Apache里加载和运行的模块数量。这决不是一个固定的数字。由于这个数字里还包含了共享库包,所以不是100%的准确。我们可以认为RSS数字的一半是httpd线程真正使用的内存数,这可能还有点保守,但是离我们的目的已经非常接近了。
在本文里,我们假设每个httpd进程都在使用了27 MB内存。然后,你需要确定可以让httpd真正使用的内存数。根据运行在机器上的其他进程,你可能希望要求50%的物理内存都供Apache使用。在一个装有1GB内存的系统上,就有512MB的内存可以被划分为多个27MB的内存,也就是大约19个并发的httpd内存。有些人坚持认为每个httpd 线程“真正”使用大约5MB的内存,所以从理论上讲你可以把512MB的内存划分出102个并发进程供Apache使用(要记住的是,除非你的网站需要极其巨大的流量,否则这种情况是非常罕见的)。
在默认状态下,Apache会分配最大256个并发客户端连接,或者256个进程(每一个都对应一个请求)。按照这种设置,一个流量巨大的网站会在顷刻间崩溃(即使你假设每个进程占用5MB内存,那也需要1.3GB的内存来满足请求的数量)。如果不采取其它措施,系统会通过硬盘来尝试使用交换空间以处理它无法在物理内存中完成的任务。
其他可以调整的项目包括KeepAlive、KeepAliveTimeout和MaxKeepAliveRequests等设置。可以放在httpd.conf文件里的推荐设置有:
ServerLimit 128MaxClients 128KeepAlive OnKeepAliveTimeout 2MaxKeepAliveRequests 100
通过将KeepAliveTimeout从15秒减到2秒,可以增加MaxClients命令;19太小,而128要好得多。通过减少进程存活的秒数,你可以在相同的时间内允许更多的连接。
当然,如果没有真正的测试在背后支持,数字就是毫无意义的,这就是ab的作用之所在。使用ab对Apache配置文件(MaxClients等于 256、ServerLimit等于256、KeepAliveTimeout等于15)进行调整,使其能够满足1000个请求(100个连续请求并发产生)的调整方法如下。(在执行测试的时候要确保服务器上有一个终端打开以观察系统的负载。)
$ ab -n 1000 -c 100 -k http://yoursite.com/index.php
现在把上面的服务器设置改为更加保守的设置,重新启动Apache,试着再次测试(总是从远程计算机上进行,而不是本机)。
在这里的测试中,不同的设置导致执行所消耗的时间产生了一倍的差距(分别为27.8s和16.8s),但是负载的平均值为0.03和0.30。这可能会使得你的网站变得稍慢,但是会确保它不会在高负载的情况下崩溃。还要记住的是,你将需要进行多次测试,以便取得一个平均值。
使用ab是测试调整Apache配置的一个极佳方法,应该在你每次做出影响性能的更改时使用它。
猜你喜欢
- 重新认识搜索引擎优化SEO在美国的发展比我们中国早很多,关于什么是搜索引擎优化,相信国内的SEO爱好者,已经看过很多个版本。但美国的同行将会
- 网易公司董事长兼CEO丁磊2月25日消息,今日凌晨,网易(NASDAQ: NTES)宣布了截至2009年12月31日的第四季度财务业绩。在今
- 互联网经济在我国发展得如火如荼,从而掀起了一波又一波的建站热潮。只要互联网不衰退,每天就会有不同的网站诞生,建站热潮扩大了对虚拟主机的需求,
- 第三方数据分析公司Cnzz.com新公布的报告预计,2012年中国网络游戏市场规模将达到410亿元人民币,占据全球网游市场的半壁江山。报告显
- 10月26日消息,网易企业邮箱近日悄然更新了客户端收信图标提示、通讯录导入优化等多项新功能。网易企业邮箱自问世以来,秉承网易邮箱长久以来的以
- 说起电子邮箱,相信不少朋友都会有不下两三个吧?接下来我们将向你介绍如何用计算机来架设一个邮件服务器。一、下载安装WinMail1)首先有请我
- 在9月10日晚的“阿里巴巴十周年庆典”上,最让人印象深刻的不是马云的“朋克装&a
- LuManager(LUM)是基于FreeBSD、Zijidelu、Debian、Centos、Ubuntu等Linux/Unix系统的网站
- 一个网站内部的链接构架、关键词布局、URL、内容建设等方面都网站优化工作完成之后,并不能直接SEO效果,因为这只是打好了SEO的基础,要想获
- 原创文章在提高网站权重上有着重要的作用,除了一些互动型的网站以外绝大多数的个人网站都是靠采集来添加网站数据。即使是手动添加文章,标题修改了,
- 如果你在你的托管帐户上存储了archive files,你可能需要unarchive它们,要么再次使用某个老的文档,要么只是解压某个你已上传
- 3月1日,百度即时通讯软件百度HI正式内测,百度CEO李彦宏在其博客上呼吁“大家很快就可以一起high了”的博日志,目标直指微软的MSN和腾
- 作为链接专题系列的第二篇, 我们想与您讨论一下链接架构的重要性,并且回答您相关的问题。链接架构---您网站的内部链接方式——是您在网站规划中
- 10月1日前一天,北京下了一场大雨,10月1日当天,天气晴朗,阳光明媚。“草堂‘’秋‘’睡足,窗外日迟迟”,心里默念着,在北京自己的小屋里,
- 10月30日消息,据国外媒体报道,苹果已经决定针对诺基亚的起诉与诺基亚在法庭上展开斗争。苹果向美国证券交易委员会提交了一份报告。苹果在报告中
- Godaddy主机用户在购买、建立、管理托管帐户时,创建了多个帐户来登陆与其托管网站有关的不同界面。每个帐户都是由一个用户名及密码来保护的。
- 在第一部分( 搜索引擎中图像优化漫谈(一)),我们讨论了优化用于网站或是博客图片和图像的一些基本方法。按照SEO的要求,把重要的东西放在第一
- 1、何谓虚拟系统“虚拟系统”的意思是“假的系统”,亦即当一个
- 在一台服务器的使用上,磁盘往往占据着很重要的位置。服务器磁盘的配置和维护对整个服务器性能方面产生很大影响。实际上,优化服务器磁盘的方法只需要
- 我先说下我的最初建设方法:华恒教育—一级栏目,华恒简介、高中留学等导航的设置都是二级栏目。(其实这种办法我走了不少弯路)我这样的办法是对每个