关于不同应用程序存储IO类型的描述
2016-06-24 11:23
183 查看
关于不同应用程序存储IO类型的描述
原创 2016-06-09 EMC中文技术社区 EMC易安信中国技术社区存储系统作为数据的载体,为前端的服务器和应用程序提供读写服务。存储阵列某种意义上来说,是对应用服务器提供数据服务的后端“服务器”。应用服务器对存储系统发送数据的“读”和“写”的请求。然而,不同的应用程序对存储的数据访问类型有所不同。本文描述典型的不同应用程序的存储IO类型。帮助读者了解不同应用程序存储IO类型的同时,提供的数据也可以为存储模拟和压力测试的数据参考。
IO类型描述:
描述不同应用的存储IO类型之前,先要描述存储中的定义IO的几个术语:
IO大小(IO Size):IO
Size是应用程序发起,经过操作系统的磁盘子系统,向存储系统发送的读写请求的单位大小。不同的应用程序所发送的IO大小都不相同,例如对于数据库应用,它在数据读写的时候IO Size是8KB,而在事务日志的写入的时候可能是512Bytes-64KB不等。所以,通常所说的IO Size都是一个平均的概念。即某一款应用在一段时间内的平均IO大小。
读写比例(Read/Write):读写比例比较容易理解,就是应用程序读数据和写数据分布。这个在规划存储的时候也至关重要,因为存储系统中的保护级别(RAID)的不同,对写有损失。例如RAID-5单次写入需要分别对数据位和校验位进行2次读和2次写。所以说,如果用RAID-5作为写入比例较高的应用,显然会对性能有很大影响。
顺序与随机读写比例(Random/Sequential):顺序和随机读写取决与应用的获取数据的方式。通常情况下,如果数据的读取和写入是在连续的磁盘空间上,可以认为是顺序读写。如果应用读取的数据分布在不同磁盘空间,且无固定的顺序,则视为随机读写。由于传统的机械磁盘(闪存盘不再讨论之列)读写数据需要盘面的转动和磁头的移动,这使得随机读写的效率在物理磁盘层面要远小于顺序读写。通常存储系统都都会利用缓存来减少这部分的延迟,减缓因为磁头的移动而带来的性能损失。随机读写的代表的是OLTP的数据库文件,顺序读写的代表则是数据的事务日志。
应用程序存储IO类型:
下面的表中描述的不同的应用程序对应的IO大小、读写比例、随机和顺序比例。表中的比例为一个通用的参考值,比例接近真实各种应用的IO类型。当然不能包含全部的应用类型因为根据不同生产环境,数值也会有很大的差异。这里的数据提供一个参考,可以用于使用压力测试工具,例如IOMeter,模拟不同应用的IO负载。
应用类型 | IO大小 | 读写比例 | 随机与顺序读写比例 |
Web File Server | 4KB、8KB、64KB | 95%读/5%写 | 75%随机/25%顺序 |
Web Server Log | 8KB | 100% Write | 100%顺序 |
OS Paging | 64KB | 90%读/10%写 | 100%顺序 |
Exchange Server | 4KB | 67%读/33%写 | 100%随机 |
Workstation | 8KB | 80%读/20%写 | 80%随机/20%顺序 |
Media Streaming | 64KB | 98%读/2%写 | 100%顺序 |
OLTP - Data | 8KB | 70%读/30%写 | 100%随机 |
OLTP - Log | 512bytes - 64KB | 100%写 | 100%顺序 |
相关文章推荐
- 关于Json中null的问题以及宏的返回值(转载)
- VS2010小助手安装
- MySQL使用详解--根据个人学习总结
- Maven之发布工程到远程的Tomcat下
- 第十五周项目:范型程序
- Java中的EL和JSTl
- tomcat源码解析(一)--启动与Server.xml文件的解析
- 期末考试-猴子吃桃(算法基础 第10周)
- 解决Android 5.0以上Button自带阴影的问题
- 关于不同应用程序存储IO类型的描述
- 软件工程----课程总结
- 上传图片在前台预览
- 【项目 报错】 项目启动,内存溢出 可能出现的各种报错
- 数据类型
- STM32 IAP程序跳转前后的中断问题
- [Leetcode]3. Longest Substring Without Repeating Characters
- iOS面试题(四)
- Hu矩
- 第十五周(4)-阅读程序
- java实现敏感词过滤