关于PHP百万级数据量生成静态HTML的困扰

针对PHP在生成百万级数据静态HTML时遇到的性能问题,文中探讨了不同CMS系统的生成速度限制,并指出即使优化也无法显著提升效率。文章引用了观点,提出大型网站可能更适合伪静态,或者在发布新内容时单独生成静态页面,而非全站更新。此外,按需生成和多线程处理在特定时段进行生成可以缓解服务器压力,但首次访问用户可能会遭遇延迟。
摘要由CSDN通过智能技术生成

老蔡虽然很菜,但是也用了很多种主流的CMS。话说DEDE的生成速度是大家公认的很慢,虽然通过网上的教程可以修改的稍微快一点,但是解决不了根本问题,在一个站采集到10万数据的时候无论怎么修改都会很慢。帝国CMS虽然生成速度比DEDE稍微强那么一点,但是也依然还是10万数据要生成好几个小时才OK。

俺很执着的到处查资料,希望能找到一种能在生成百万数据的时候也能很快的方法。但是找来找去也没有找到什么能治根本的方法。

后来俺就在想,是不是数据量大于10万的网站就不适合生成真静态了,因为每修改一次页面都要重新生成一次十分麻烦,费这个功夫还不如直接伪静态了算球。

引用:浪迹天涯

  生成100万个页面,这个本身工作量就不小,而且是一次性生成,速度慢是正常的,因为瓶颈主要在于CPU,再者还有磁盘IO和内存,而且还与服务器的性能硬件环境等有关系。所以再怎么优化也快不到哪去。
  
  对于你腾讯、新浪这种新闻门户网站都是在发布一条新闻时就生成静态页面并发布到静态池,而用户访问则会通过前端SQUID来访问页面。由于这种新闻的网站在页面上所能浏览到的页面一般不会超过100个分页,所以当一个模板改版或者是修改了页面元素,它们并不会生成所有的页面,而是只生成这100个分页里的新闻,其它的新闻页面就不去生成,因为访问的人很少,而查看这些人的用户都是来自于搜索引擎,这样的用户不多,而且这些没有重新生成新版页面的内容也是可以查看的,并不影响用户的体验,也减轻了网站的压力。
  
  如果当改版时,你一定要重新生成所有页面,那么建议你手动生成,可以单独拿出一台服务器来跑这个页面生成程序,甚至可以使用多线程来跑,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值