我想起了10KB的lorem ipsum并开始工作.我在PHP的开始和结束时放了一个计时器,写入10KB的lipsum(显示:无div块)100次,总共1MB的数据,我认为这将是随机cpu的工作量.加载不会过多地抛弃我的数据.
除了PHP计时器之外,我还打开了Chrome的开发者工具(F12)并记录了“时间”和“延迟”字段.如果我的术语正确,则“时间”是页面响应和呈现的总时间,“延迟”是页面首次从服务器接收数据之前的时间.
所以这就是个谜:当我什么也不做,只写10x的嘴唇100x,我的平均值是:
PHP Time: 0.00630ms Chrome Time: 565.6ms Chrome Latency: 28.3ms
当我在一开始调用ob_start()时,最后调用ob_flush():
PHP Time: 0.00792ms Chrome Time: 540ms Chrome Latency: 33ms
然而,这就是谜 – 当我在每个10KB文本块的开头和结尾调用ob_start()和ob_flush()时,我的Chrome报告的延迟时间增加了4倍.
PHP Time: 0.005814ms Chrome Time: 624.7ms Chrome Latency: 134.9ms ???
据我所知,Chrome延迟应减少100倍,因为我正在通过PHP输出将缓冲区冲洗1/100.我知道ob_start()和ob_flush()在更高的缓冲区上运行,它们实际上刷新到较低的缓冲区,我希望较低的缓冲区以相同的间隔刷新,这意味着我会看到相同的延迟.
我的测试装备是一个非常适度的英特尔ATOM上网本,带有Nvidia ION显卡,Windows 7家庭高级版(32位)和运行Apache 2.2.22的WAMP服务器,具有相当多的默认设置.我用的是Chrome 24.0.1312.52米.测试期间cpu负载适中但不是100%,而我的内存远远不够.
测试代码:
http://pastebin.com/zf62Y4yz
谢谢!
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。