Loading...

谈谈程序的效率

2007-07-07 15:55:55 发表于PHP, 网站技术 本文链接: 谈谈程序的效率

随着考虑的越来越周全,cos-html-cache对数据库的查询越来越多,虽然这个不影响阅读者的效率,但是管理人员在后台批量更新缓存的时候问题就出来了,特别是对于bluehost和hostmonste这种对CPU执行时间有限制的虚拟主机,问题就更加明显了,如果网络速度慢或者批量更新的数目太大,就会造成CPU超标,所以如果你还在使用cos-html-cache,请更新的时候一次少更新点,50篇一般不会出问题的!

Bluehost的超标一般都在Mysql查询的返回时间上,所以,下一步就得要优化查询,首先得优化的就是在查询获取数据的过程中,别去执行socks open,因为socks连接都有一个延迟时间。当前的执行流程如下:

重建缓存:

查询数据库,条件是post或者page{

     如果page则利用index.php?page_id= id否则 利用index.php?p=id来获取html输出

    利用socks open获取输出(这里建立链接会有时间延迟)

    根据ID,得到其永久链接(这里wordpress自己也产生了SQL查询)

   写入该文件

    }

查询完毕

从上面我们可以看出,在执行查询数据循环的时候,循环体内出现了等待和再次查询,所以SQL执行时间大大加长,以至于超过30秒。

因此下一步做改进,改进如下

查询数据库,条件是post或者page{

     将post或者page的id放置在数组变量1里面

    }

循环变量1{

获取permanlink永久链接,将永久链接写入到数组变量2//因为这里有sql查询

}

循环变量2{

获取缓存(采用成熟的类来完成),写入缓存

查询完毕

因此下一个版本的cos-html-cache在后台执行的效率会大大的上升,当前,对于访问者了说,几乎没有任何变化。

该日志未加标签
发表于 2007-07-07 15:55:55 目录:PHP, 网站技术 [RSS 2.0] 你可以发表评论, 或者从您的网站 trackback
  • 相关阅读
  • 大师,指导指导如何? 拒绝低俗
      还没有留言呢,等你发表高见,快抢沙发啊!
    评论分页: 1
    (Required)
    (Required, not published)
    如果留言未显示无需重复留言,我将为你恢复!