加班比华为狠
发帖: 1647 来自: 离华为不远的地方
状态: 离线
精品: 0
|
于 2011-06-25 03:01 个人信息 发悄悄话 引用回复 编辑本帖 搜索发帖 复制本帖 收藏本帖 投诉该帖
大溪水 wrote: 论坛基本上没办法做静态化的。 linux可用sysctl来设置网络参数,比如ip.syn_cookie可以抵御初级ddos。 至于mysql,论坛搜索功能貌似没有,所以通过索引优化提升不会有什么效果。要么就是换论坛系统。 刚才我一直是可以打开帖子但是一发帖就卡住很久后再出来500错误,估计论坛mysql用的是MyISAM引擎,它的主要问题是表锁问题——写操作非常容易导致表锁从而一堆连接被卡住,并且这个引擎在大并发读写下容易发生表损坏(一般可通过表修复来处理)。建议换成InnnoDB引擎,或者换成PostgreSQL数据库。 如果瓶颈在于锁表,则完全可以分开两个数据库进行读写,写表的时候写如主数据库,辅数据库定时对主数据库进行同步。 理论上myisam在对全表进行扫描的时候也会加锁,而innodb宣称是支持行级锁。但实际情况下,myisam会比inoodb快很多,特别是在进行全表进行count操作的时候。个人认为在论坛这种查询量比写入量大的多的情况下,用myisam是合适的。 兄台对于静态化的一些观点,也不是绝对的。是否适合进行静态化处理,主要是看静态化的开销是否远远小于动态的开销。 在我所做过的项目经验看来,只要不涉及到ACL(访问控制列表)的项目,特别是查询量远小于写入量的项目,适当的静态化是合适的(包括对服务器段缓存的应用)。
|