I/O调优

来源:互联网 发布:专业dj软件 编辑:程序博客网 时间:2024/06/14 02:38

说明:转载自《深入分析java web技术内幕》

1. 磁盘I/O优化

  • 增加缓存,减少磁盘访问次数;
  • 优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的;
  • 设计合理的磁盘存储数据块,以及访问这些数据块的策略,这是在应用层面考虑的;
  • 应用合理的RAID策略提升磁盘I/O,RAID策略及说明如表所示:
    这里写图片描述

2. 网络I/O优化

  • 减少网络交互的次数,要减少网络交互的次数通常需要在网络交互的两端设置缓存,还有就是合并访问请求;
  • 减少网络传输数据量的大小,通常是将数据压缩后再传输,还有就是设计简单的协议,尽量通过读取协议头来获取有用的价值信息;
  • 尽量减少编码,通常在网络I/O中数据传输都是以字节形式进行的,要序列化,但是我们发送的要传输的数据都是字符形式的,从字符到字节必须编码,这个编码过程比较耗时,所以尽量直接以字节形式发送,尽量提前将字符转化为字节,或者减少从字符到字节的转化过程;
  • 根据应用场景设计合适的交互方式,所谓的交互场景主要包括同步与异步、阻塞与非阻塞方式。
    两种方式的组合,分别是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞,这四种方式的性能分析如下:
    这里写图片描述
原创粉丝点击