Linode优化LAMP配置
我的网站在经过2周左右的测试后,正式决定搬家到Linode。受经济和访问量等因素的综合考虑,我选择了最便宜的VPS方案(Linode 360:360MB内存,16GB存储空间,200GB月流量)。
操作系统上,我选择了Debian 5.0 (Lenny) 64bit。原因是Debian和我常用的Debian/Ubuntu系统最为贴近,安装、配置、管理都比较得心应手。至于64bit和32bit,简单一句话就是,64bit应用会相对更快一些,但也占用了更多的内存(例如一个int在32bit系统中占用4bytes,而在64bit系统中则占用8bytes)。
与很多采用Linode 360方案的人不太一样,我并没有使用传说更加高效的NgineX,而是使用了比较传统的LAMP结构。这样的代价是对于内存的消耗更加苛刻,而优点则是更加传统、经典、久经考验的Apache方案。
正是基于这些原因,我经过大约2周时间的调试,总结出针对我的个人网站来说比较合理的配置方案。
首先是Apache的配置(/etc/apache2/apache2.conf):
KeepAlive On
MaxkeepAliveRequest 20
MaxKeepAliveTimeOut 25
<IfModule mpm_prefork_module>
ServerLimit 30
StartServers 3
MinSpareServers 3
MaxSpareServers 7
MaxClients 20
MaxRequestsPerChild 500
</IfModule>
接下来是PHP的配置(/etc/php5/apache2/php.ini):
max_execution_time = 180 max_input_time = 60 memory_limit = 64M error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR register_globals = Off
最后是MySQL的配置(/etc/mysql/my.conf):
key_buffer = 16K max_allowed_packet = 3M thread_stack = 64K thread_cache_size = 8 table_cache = 3 query_cache_limit = 1M query_cache_size = 16M #skip-innodb
经过上述配置,在我的网站上,剩余物理内存空间基本能达到100MB左右,即使是峰值流量,也基本不会出现OOM了。




还是nginx好,高效,占内存少,当然没apache顺手
hi,想请教一下,Linode 360 如果放wp,做全静态,大概能撑多少pv每天呢?
@will , Linode 360+LAMP+WP,非常有限,很容易OOM。我没做过测试,但估计100 PV左右吧。因为我的blog大约就是这个级别,三天两头的OOM。
100pv ?? 100w??
你确定只能100pv吗???
那么来100个人不就down掉了啊。。。
回LS两位,LAMP在mpm_prefork_module的情况下,真的性能挺差的,360MB内存,很容易就OOM了。
真正的数据我没试验过,但100多个人同时访问,真的很可能就OOM了。你想,每个apache需要大概几M的内存,每个访问者都fork出新的进程,真没多少。
但LAMP的mpm_workder_module没试过,毕竟和nginx一样,不用fork了
同一秒100个人是不好说,一般是计算大概15分钟在线人数吧,可能。。。