Apache连接数设置

[不指定 2011/07/11 16:42 | by Totti ]
编辑/etc/httpd/conf/httpd.conf

prefork几乎还是目前的唯一MPM,我在下面主要还是讨论它的工作原理和相关指令调整。查看缺省生成的httpd.conf配置文件,会发现里面包含如下的配置段:


StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0


  prefork的工作原理是这样的:控制进程在最初建立StartServers个子进程后, 为了满足MinSpareServers设置的需要,创建一个进程,等待一秒钟,继续创建第二个,等待一秒钟,继而创建四个,如此按指数级增加创建的进程数,最多达到每秒32个,直到满足MinSpareServers设置的值为止,这也就是预派生(prefork)的由来。这种模式可以使得不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

  MaxSpareServers 设置了最大的空闲进程数,如果空闲进程数大于这个值,Apache会自动kill某些多余进程。这个值一般不要设的过大,但如果设的比MinSpareServers小,Apache会自动把它调整为MinSpareServers+1。如果站点负载较大的话,可考虑同时加大MinSpareServers和MaxSpareServers。

  MaxRequestsPerChild设置的是每个子进程可以处理的请求数。每个子进程在处理了MaxRequestsPerChild个请求后将自动销毁。0意味着无限,即子进程永不销毁。虽然缺省设为0可以使每个子进程处理更多的请求,但如果设成非零值也有两点重要的好处:

1. 可防止意外的内存卸漏;
2. 在服务器负载下降的时侯会自动减少子进程数。

  因此,可根据服务器的负载来调整这个值,如果非零的话,笔者认为10000左右是比较合适的。事实上这个值对Apache的性能影响不是很大。

  MaxClients 是这些指令中最为重要的一个,它设定的就是Apache可以同时处理的请求,这是对Apache性能影响最大的参数.在我个人看来,缺省的150是远远不够的,如果请求总数已达到这个值(可通过ps –ef|grep httpd|wc –l来确认),那么下面的请求就要排队,直到某个已处理请求完毕。这就是为什么系统资源还剩下很多,而http访问却很慢的主要原因。系统管理员可以根据硬件配置和负载情况来动态调整这个值,虽然理论上这个值越大,可以处理的请求就越多,但Apache默认的限制是不能大于256。如果把这个值设为大于256那么Apache将无法起动。事实上,256对于负载稍重的站点也是很不够的。在Apache1.3中这是个硬限制,如果要加大这个值,必须在configure前手工修改源代码树下的src/include/httpd.h,查找256,会发现#define HARD_SERVER_LIMIT 256这行,把256改为你要增大的值如4000,然后重新编译Apache即可。我想这个方法稍有些经验的Apache系统管理员都知道,不过我相信在Apache2.0中知道如何加大这个值的人就不会太多了。

  在Apache2.0中新加入了ServerLimit指令,使得无须重编译Apache就可以加大MaxClients。下面是笔者的prefork配置段。


StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 2000
MaxClients 1500
MaxRequestsPerChild 10000


  BTW: ServerLimit的最大值是20000,这对于大多数站点是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的

#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000

这两行就对应着MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并发连接数。
为了兼容超过4GB的大型文件,并便于和Windows 文件交换,最好给带有USB口的无线接NTFS格式的外接硬盘。

为了能够加载ntfs格式的硬盘,需要的模块是kmod-fuse和ntfs-3g,当然,其他usb storage支持等这里假定已经安装。

装了这些后,应该可以用这样的命名来加载外置硬盘;

ntfs-3g /dev/sda1 /mnt/usbstorage

如果要自动加载,那么需要自己编译10.03,让它支持mount helper,并安装- mount.ntfs-3g,block-hotplug,以及hotplug2软件包。并编辑/etc/config/fstab如下:

iPad2 越狱了

[不指定 2011/07/02 20:38 | by Totti ]
1、iPad2 用safari打开 http://www.jailbreakme.com/
2、点击【FREE】按钮
3、等待.....

http://bbs.weiphone.com/read-htm-tid-2482553.html

openwrt下使用dnsmasq本地解析

[不指定 2011/07/02 15:15 | by Totti ]
这是一篇隐藏日志。您需要以合适的身份登入后才能查看。

用tar实现linux 文件增量备份

[不指定 2011/06/28 15:23 | by Totti ]

作者主页: http://blog.sina.com.cn/xunyiqq
#!/bin/bash
#好的做法
#根据项目不同来重命名该脚本
#例如 amountebak.sh or pandawillsbak.sh
#该脚本最好放在 $bakpp定义的绝对路径部分
#你可以在$bakpp下找到相应的备份文件
#例如 /usr/backup/amountebak.sh  or /usr/backup/pandawillsbak.sh

centos 删除文件夹的命令

[不指定 2011/06/27 15:49 | by Totti ]
rm -rf 文件夹名字

centos自动备份代码

[不指定 2011/06/27 15:33 | by Totti ]
Linux服务器备份:VPS服务器网站及数据库自动本地备份并上传到FTP服务器

从VPS侦探建站之初就一直在重申一定要备份好自己的数据,因为太多的不确定性可能会造成数据库丢失,而且大部分VPS服务商也不可能提供每天备份数据。

原来VPS侦探提供过一个VPS备份方法,只是略微说了一下,可能部分新手会不太好入手。今天VPS侦探分享一个自己的备份脚本。

准备工作:

需要提前在VPS安装好lftp,lftp功能上比较强大,CentOS直接执行:yum install lftp,Debian执行:apt-get install lftp 。

需要在VPS上创建/home/backup/ 目录,在FTP上创建backup目录。

如果VPS上数据库不多的话使用Godaddy的免费空间就可以(10GB空间,300GB流量),只要注册个域名就免费送。

下面将备份脚本进行部分注释:
分页: 9/172 第一页 上页 4 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]