# Untitled

一个每日1000W的PV论坛怎么优化性能？ 从分页、数据库、流量等多方面入手

这是一个php程序员面试过程中经常遇到的问题，就目前工作环境中的情况来看，这种千万级别的访问量的情况还没遇到，在百度中找到这样一篇文章，可能对这个问题有帮助。

用一台1U服务器让phpwind承受1000万PV（实际营运） 臭现下，偶的网站已经经过1000万PV的考验了（百度统计结果）

1000万pv的实际论坛是很恐怖的，因为这样的论坛日发帖一般大于10万，会员数据超过200万，帖子总数超千万。

1、 解决流量问题，1000w pv,我做过检测，每秒流量高达300M以上，我采用了多网卡来解决。用了4个网卡口子，每口100M，就可以承受400M流量了。1U服务器一般只有2 个网口，可以增加USB网卡，目前有几种芯片的USB网卡在linux下是自动识别的。1000M的端口机房是很贵的，10万以上每年。所以采用多网卡负 荷分担是经济实用的。

2、解决mysql瓶颈问题，首先要学会mysql的配置优化my.cnf的优化，然后要对程序进行优化，目前的免 费bbs程序，在负载上都是很垃圾的（pw和dz在程序上很少考虑大负载问题，VBB没有仔细关注过，可能vbb要好很多），需要实际中调试慢查询，优化 sql语句，注意用子查询进行分页，不要简单的使用limite start,num ，某些频繁查询而又不是经常变化的sql尽量使用缓存技术，对访问频繁的页面，例如首页，必须对sql以及php的运算都进行优化，做到像访问html一 样访问bbs首页。

3、使用memcache对mysql数据进行缓存，虽然有数据延迟，但可以很大的降低mysql的负荷。

4、使用nginx + eac 做web ,eac共享内存设置为60M即可，不能太大，nginx开10个线程。

5、使用lighttp的spawn-cgi + php-cgi 开启至少256个线程。不要使用php-fpm，这玩意儿在千万pv的大压力时，会出问题，频繁假死

6、解决搜索问题，选择使用中文全文索引

硬件配置：2个4核Xeon5405 + 12G RAM + 4x300G SAS raid0
