如何测试和调试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配置的一个极佳方法,应该在你每次做出影响性能的更改时使用它。


猜你喜欢
- 7.网站经常无法访问也许你拥有最好的网页内容,最好的网络服务,但是如果你的网站因为各种原因经常无法访问,或者访问速度很慢,那么,你拥有的用户
- 服务器虚拟化带来的好处是毋庸置疑的,然而服务器虚拟化衍生出来的一系列问题却也是企业数据中心管理人员所要仔细考虑的。一旦企业数据中心实行服务器
- 无疑,Linux和Unix是最强大的命令行操作系统。虽然我们也可以使用这些操作系统的图形用户界面(GUI),不过在涉及到管理系统配置时,命令
- 今天搜索了一下,看到几个帖子,感觉有必要写点感受,一起分享一下。也有一些兄弟,似乎 对图王的 赚钱理念颇有微词。其实也是正常的。我也常常发觉
- 做一个有个性的个人网站,首先要明确自己的内容规划。A/符合自己的个性 网站有很多种不同的类型,你的网站属于什么类型?一个资源下载站?一个网络
- 前言XAMPP (Apache+MySQL+PHP+PERL)是一个功能强大的建 XAMPP 软件站集成软件包,且包含 MySQL
- WordPress 即将更新到 3.2,和 3.1 的理念一样,WordPress 3.2 将继续在用户体验上下功夫。WordPress 3
- 虚拟机是非常方便的测试软件,我们可以用来做各种测试,不会对硬件造成伤害,为了能够更加方便的演示环境,便于做各种例子;而又能保证主机的快速运行
- 虚拟机中Ubuntu18.04无法连接网络的解决办法,具体内容如下对VMware虚拟机进行恢复默认网络设置恢复虚拟网络默认设置(在断网状态下
- 一、操作系统的选择FTP服务器首先是基于操作系统而运作的,因而操作系统本身的安全性就决定了FTP服务器安全性的级别。虽然Windows 98
- 交换空间是当今计算的一个共同方面,不管操作系统如何。Linux使用交换空间来增加主机可用的虚拟内存量。它可以在常规文件系统或逻辑卷上使用一个
- linux主机最大的好处是一切都可以自助设置,不用麻烦空间商。1,制作好404页面,上传2,在网站目录下上传.htaccess文件。Apac
- Web安全网关是Gartner在其2008年的报告中所重点提及的边界应用安全网关。其主要功能包括防病毒、URL过滤、Internet应用控制
- 尽管功能服务器概念的提出可以追溯到十几年前,可是功能服务器的产品是这两三年才火起来的,因为它是为了满足用户的特殊需求而定制的专用服务器。说到
- 作为站长,您对论坛中会员的积分消费一定很熟悉。当会员对积分的需求增大,通过发帖、上传附件等增加积分的活动不能满足时,他还可以通过支付宝购买积
- 一、关键词位置、密度、处理1.URL中出现关键词(英文)2.网页标题中出现关键词(1-3个)3.关键词标签中出现关键词(1-3个)4.描述标
- 织梦官方之前宣布将在7月31日发布旗下内容管理系统5.5GBK版,晚23时Dedecms 5.5 GBK版放出。5.31的升级版将在明日提供
- 本文介绍的是关于Linux中别名与二进制使用的相关内容,分享出来给大家参考,下面来看看详细的介绍:二进制一般二进制这个名词听上去高深莫测,然
- 禁用不明服务一些基本的命令往往可以在保护网路安全上起到很大的作用,下面几条命令的作用就非常突出。一、检测网络连接如果你怀疑自己的计算机上被别
- 本文介绍了详解如何在VMware workstation 14 pro(虚拟机)上安装系统,分享给大家,具体如下:点击创建新的虚拟机选择稍后