缓存技术对比分析

缓存技术对比分析

ID:38589174

大小:471.00 KB

页数:38页

时间:2019-06-15

缓存技术对比分析_第1页
缓存技术对比分析_第2页
缓存技术对比分析_第3页
缓存技术对比分析_第4页
缓存技术对比分析_第5页
资源描述:

《缓存技术对比分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、缓存技术浅谈RobbinFan缓存是什么,解决什么问题?Cache是高速缓冲存储器一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为Cache基于Web应用的系统架构图数据库应用服务器Web服务器存储设备浏览器Web应用架构操作系统的文件系统Web应用系统存在哪些速度差异?读取文件系统读取磁盘读取数据库内存读取文件系统读取应用内存访问数据库服务器读取静态文件访问应用服务器读取浏览器缓存访问网站缓存技术分

2、类操作系统磁盘缓存减少磁盘机械操作数据库缓存减少文件系统I/O应用程序缓存减少对数据库的查询Web服务器缓存减少应用服务器请求客户端浏览器缓存减少对网站的访问操作系统缓存概述文件系统提供的DiskCache:操作系统会把经常访问到的文件内容放入到内存当中,由文件系统来管理当应用程序通过文件系统访问磁盘文件的时候,操作系统从DiskCache当中读取文件内容,加速了文件读取速度DiskCache由操作系统来自动管理,一般不用人工干预,但应当保证物理内存充足,以便于操作系统可以使用尽量多的内存充当DiskC

3、ache,加速文件读取速度特殊的应用程序对文件系统DiskCache有很高的要求,会绕开文件系统DiskCache,直接访问磁盘分区,自己实现DiskCache策略Oracle的rawdevice(裸设备)–直接抛弃文件系统MySQL的InnoDB:innodb_flush_method=O_DIRECTWindows的DiskCacheLinux的DiskCache数据库缓存的重要性为什么数据库非常依赖缓存?数据库通常是企业应用系统最核心的部分数据库保存的数据量通常非常庞大数据库查询操作通常很频繁,有时还很复杂

4、以上原因造成数据库查询会引起非常频繁的磁盘I/O读取操作,迫使CPU挂起等待,数据库性能极度低下数据库有哪些缓存策略?QueryCacheDataBufferQueryCache以SQL作为key值缓存查询结果集一旦查询涉及的表记录被修改,缓存就会被自动删除设置合适的QueryCache会极大提高数据库性能QueryCache并非越大越好,过大的QqueryCache会浪费内存。MySQL:query_cache_size=128MMySQLQueryCache监控工具showstatuslike'Qcache%

5、';mysqlreport脚本MySQLAdministratorQueryCache状态示例__QueryCache______________________________________________Memoryusage25.77Mof64.00M%Used:40.26BlockFragmnt24.73%Hits6.98M3.2/sInserts100.87M46.9/sInsrt:Prune34.15:145.5/sHit:Insert0.07:1DataBufferdatabuffer是数据库数据

6、在内存中的容器databuffer的命中率直接决定了数据库的性能databuffer越大越好,多多益善MySQL的InnoDBbuffer:innodb_buffer_pool_size=2GMySQL建议bufferpool开大到服务器物理内存60-80%MySQLbuffer监控工具showinnodbstatusGshowstatuslike'innodb%';mysqlreport脚本innotopInnoDBbuffer状态示例__InnoDBBufferPool___________________

7、___________________Usage1000.00of1000.00%Used:100.00Readhit99.99%PagesFree0%Total:0.00Data59.69k93.26%Drty:0.02Misc43116.74Latched00.00Reads60.30G28.0k/sFromfile7.01M3.3/s0.01AheadRnd986840.0/sAheadSql95480.0/sWrites86.79M40.3/sFlushes14.08M6.5/sWaitFree00/s应

8、用程序缓存概述对象缓存查询缓存页面缓存动态页面静态化Servlet缓存页面内部缓存对象缓存由O/RMapping框架例如Hibernate提供,透明性访问,细颗粒度缓存数据库查询结果,无需业务代码显式编程,是最省事的缓存策略当软件结构按照O/RMapping框架的要求进行针对性设计,使用对象缓存将会极大降低Web系统对于数据库的访问请求良好的设计数据库结构和利用对象缓存,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。