Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[疑问] DNSPOD吴洪声谈CMS生成静态文件

[复制链接]
05273 发表于 2010-5-22 11:10:13 | 显示全部楼层 |阅读模式
本帖最后由 05273 于 2010-5-22 11:12 编辑

目前国内的CMS系统,好像都没提到能支持多少数量的文章。但根据我平时维护几个朋友的小说站的情况来看,太多零碎的html文件还是瓶颈。也就是说,CMS系统不能靠生成大量的HTML文件去提高性能,而是要换另外一种更加有效的方式来实现缓存

这里面会有一个天花板。NTFS格式的分区,单文件夹文件数目超过5000就已经很困难了。EXT3、ReiserFS也支持不到多少,1万多到顶吧,JFS之类的应该还能再多点。但超过百万以后基本就会出现分区表错误的情况,文件读写效率极低

似乎CMS系统的作者们,从来就没有去考虑过文件系统的瓶颈?我见过好几个CMS都是把大量的html缓存文件丢到一个目录里面去,造成一个目录里面有几十万上百万个文件,时不时的都要去做一下fsck,否则机器随时都有可能启动不了

觉得CMS系统可以用一种新的思路去发展:

1.缓存方式:基本上文章写入后就不需要更新了,所以对于缓存文件的处理,可以参考GFS的方式,固定大小一个缓存文件,但一个缓存文件里面可能包括多篇文章。并且这个缓存文件写入后就不做修改,对文件系统来说可以减少很多压力

2.数据存储:抛弃不太合适的mysql,采用key-value存储的方式,这样索引速度会大大增加。比如bdb之类的数据库都是可以考虑的。我们自己测试过bdb的效率,单个文件几百G的数据完全是没问题。几千万条数据的时候,读取效率可以达到每秒20-30万条

3.文章搜索:文章搜索可以采用第三方的搜索方案,比如xungle。把数据索引的压力交给第三方,彻底为服务器减少压力。而且从算法和匹配度来说,都比mssql、mysql等自带的索引要来得精确

4.web服务器:apache和nginx性能再高也有瓶颈。所以可以开发一个内核级的轻量http服务器,服务器用自己独有的算法,只处理第一条建议里面的缓存文件,其他所有请求全部丢弃。这样就可以从根本上解决syn、cc、sql注入等各种不安全因素,并且性能从理论上可以达到6万的并发

5.安装方式:可以把cms封装为iso,用户只需要刻盘安装就可以,免除各种繁琐的安装方式,用户更是不需要太多的专业知识。做到即装即用

efenglin 发表于 2010-5-24 01:10:06 | 显示全部楼层
楼主有意思,可惜的是商业化的CMS不可能考虑这方面,除非是大网站自己做开发,小网站就只能用得起免费的东西,所以没什么要求
回复

使用道具 举报

hffbi007 发表于 2010-5-24 09:45:46 | 显示全部楼层
上千万级别的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 18:57 , Processed in 0.021831 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表