不可忽略的 cache-read time(缓存读取延迟时间) 瓶颈
来源:互联网 发布:数据库审计系统排行 编辑:程序博客网 时间:2024/06/08 21:15
小小和rizen尝试过定位一个cache-read耗费时间随机的变得很长的诡异问题,排除过了文件内容、文件类型、文件头等各种影响,但是很遗憾没有最终结论。emu那天看知道这个事情后猜测,会不会就是很简单的多个cache-read操作相互竞争堵塞导致的呢?这个其实很容易验证了。写了一个简单的小页面应用了一组图片,然后抓包重新打开页面,就看到下面这个图了:
第一个cache-read耗时0.2秒多,第二个(并行发起)0.3秒多,第三个0.4秒多,接下去每个图片的耗时差不多都比上一个慢0.1秒以上。结论很明显了,并发的cache-read会相互堵塞,非常严重的相互堵塞。
以上抓包是在IE6下完成的。在IE7和IE8下面情况要好一些,但是问题性质是相同的。
很多我们曾经以为cache的非常好速度应该非常快的web应用,也许其实存在着严重的cache-read速度瓶颈而不为我们所知。
网上没有搜到太多关于cache-read时间的文章,看来真是个盲点。
解决方案和网络延迟是类似的,减少cache-read请求,把多个小文件和小图片合并成大文件和大图片(而不要一厢情愿的以为小文件被浏览器缓存后会有很好的速度表现),区分优先级引用资源。还有一个可能有用的:交错的发起不可避免的异步动态网络请求和cache-read请求,让网络延迟和cache-read延迟时间叠加在一起,来节省用户实际要等待的时间。
- 不可忽略的 cache-read time(缓存读取延迟时间) 瓶颈
- 不可忽略的数据库缓存重建
- 不可忽略的数据库缓存重建
- sql server 中延迟时间的方法 waitfor delay / time
- SQL - waitfor delay/time(SQL中延迟时间的方法)
- C# Cache缓存读取设置
- 不可忽略的小问题
- 不可忽略的Keep Alive
- 不可忽略的面试题
- 不可忽略的xss攻击
- ASP.NET缓存Cache的应用-提高数据库读取速度
- 缓存的使用Cache
- Cache缓存的概念
- MyBatis的缓存(Cache)
- Cache【缓存】的使用方法
- Spring Cache的缓存
- 不可忽略的apache 的 Keep Alive
- 中断延迟时间的衡量
- 幸运
- 流水灯汇编语言小程序
- 对kerberos的理解--经典对话读后
- VC下有了graphics.h兼容库
- Vi常用命令(五)查找替换
- 不可忽略的 cache-read time(缓存读取延迟时间) 瓶颈
- openssl中关于engine的部分代码分析
- Vi常用命令(六)编程
- 纯技术的文字越来越少了
- Java初学者容易混淆的几个问题
- 如何在Linux上使用Bochs
- 肉末茄子
- LINQ 查询多级对象
- please specify the name of the executable file to be used for the debug session