寻觅生命中的那一片浅草......

文章属于类别 应用软件

Apache的prefork模式和worker模式

prefork模式
这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器,它的工作方式类似于Apache 1.3。它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。

worker模式
此多路处理模块(MPM)使网络服务器支持混合的多线程多进程。由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM。但是,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。

控制这个MPM的最重要的指令是,控制每个子进程允许建立的线程数的ThreadsPerChild指令,和控制允许建立的总线程数的MaxClients指令。
阅读全文»

查看Apache服务器Module加载状况

查看Apache服务器的Module加载状况
httpd -M

输出如下:

Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
authn_file_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_groupfile_module (shared)
include_module (shared)
log_config_module (shared)
env_module (shared)
setenvif_module (shared)
mime_module (shared)
status_module (shared)
autoindex_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
userdir_module (shared)
alias_module (shared)
rewrite_module (shared)
cgi_module (shared)
php5_module (shared)
Syntax OK

查看已编译模块

httpd -l

输出如下:

Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

谈谈Apache的优化

版权声明:可以任意转载,但转载时必须标明原作者charlee、原始链接http://tech.idv2.com/2007/08/09/about-apache-perf-tuning/以及本声明。

今天说说Apache的优化。为什么要优化?因为服务器资源不够用。 资源有很多方面,但根据木桶理论,只要有一种资源不够用, 整个服务器的性能就会受到影响(所谓瓶颈)。

服务器资源

那么服务器的资源包括哪些?对于网站来说主要是CPU、TCP连接数这两者。 CPU表现在任务数上,在Linux下使用平均负载(loadavg)来衡量。 可通过以下命令来查看(参考这篇文章):

cat /proc/loadavg
对于单CPU的服务器,loadavg高于1,表明任务队列出现了等待,CPU忙不过来了。 超过2以上就会明显感到性能降低了。

TCP连接数可通过以下命令查看:

netstat -ant | grep :80 | wc -l
如果要实时监控服务器资源,可参考OpenNMS项目。

注1:内存不算,低廉的价格使得网站服务器很少有因为内存不够而down掉的。
注2:CPU%是瞬时的CPU使用率,通常无法反映出整体负载。

阅读全文»

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)

查看httpd进程数(即prefork模式下Apache能够处理的并发请求数)

Linux命令:
ps -ef | grep httpd | wc -l

查看Apache的并发请求数及其TCP连接状态:

Linux命令:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057

说明:
SYN_RECV表示正在等待处理的请求数;
ESTABLISHED表示正常数据传输状态;
TIME_WAIT表示处理完毕,等待超时结束的请求数

转载自:查看httpd进程数

初用WordPress自动转换中文标点问题

本来是没打算写更多关于WordPress的教程的… 一个是因为网上有很多相关资料可以查阅, 另外一个因为我本身也才接触WordPress不久, 而且对PHP也不是很熟悉, 好多问题自己还搞不清楚, 写出东西也怕给人带来错误答案或者误导… 不过最近帮某低调姐姐调整WordPress, 觉得有一些东西还是写出来吧, 顺便也给自己做个备忘和巩固. 呵呵… 如果你的WordPress也有同样或类似问题, 那么下文仅作参考… 仅作参考… 千万别相信我, 我一点也不权威… 呵呵…

以下是几个初用WordPress可能会遇到的, 并且用插件无法解决的问题. 针对WordPress 2.3.*版本

阅读全文»

2025年五月
« 5月    
 1234
567891011
12131415161718
19202122232425
262728293031