老蔡虽然很菜,但是也用了很多种主流的CMS。话说DEDE的生成速度是大家公认的很慢,虽然通过网上的教程可以修改的稍微快一点,但是解决不了根本问题,在一个站采集到10万数据的时候无论怎么修改都会很慢。帝国CMS虽然生成速度比DEDE稍微强那么一点,但是也依然还是10万数据要生成好几个小时才OK。
俺很执着的到处查资料,希望能找到一种能在生成百万数据的时候也能很快的方法。但是找来找去也没有找到什么能治根本的方法。
后来俺就在想,是不是数据量大于10万的网站就不适合生成真静态了,因为每修改一次页面都要重新生成一次十分麻烦,费这个功夫还不如直接伪静态了算球。
引用:浪迹天涯
生成100万个页面,这个本身工作量就不小,而且是一次性生成,速度慢是正常的,因为瓶颈主要在于CPU,再者还有磁盘IO和内存,而且还与服务器的性能硬件环境等有关系。所以再怎么优化也快不到哪去。
对于你腾讯、新浪这种新闻门户网站都是在发布一条新闻时就生成静态页面并发布到静态池,而用户访问则会通过前端SQUID来访问页面。由于这种新闻的网站在页面上所能浏览到的页面一般不会超过100个分页,所以当一个模板改版或者是修改了页面元素,它们并不会生成所有的页面,而是只生成这100个分页里的新闻,其它的新闻页面就不去生成,因为访问的人很少,而查看这些人的用户都是来自于搜索引擎,这样的用户不多,而且这些没有重新生成新版页面的内容也是可以查看的,并不影响用户的体验,也减轻了网站的压力。
如果当改版时,你一定要重新生成所有页面,那么建议你手动生成,可以单独拿出一台服务器来跑这个页面生成程序,甚至可以使用多线程来跑,