I/O调优
来源:互联网 发布:专业dj软件 编辑:程序博客网 时间:2024/06/14 02:38
说明:转载自《深入分析java web技术内幕》
1. 磁盘I/O优化
- 增加缓存,减少磁盘访问次数;
- 优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的;
- 设计合理的磁盘存储数据块,以及访问这些数据块的策略,这是在应用层面考虑的;
- 应用合理的RAID策略提升磁盘I/O,RAID策略及说明如表所示:
2. 网络I/O优化
- 减少网络交互的次数,要减少网络交互的次数通常需要在网络交互的两端设置缓存,还有就是合并访问请求;
- 减少网络传输数据量的大小,通常是将数据压缩后再传输,还有就是设计简单的协议,尽量通过读取协议头来获取有用的价值信息;
- 尽量减少编码,通常在网络I/O中数据传输都是以字节形式进行的,要序列化,但是我们发送的要传输的数据都是字符形式的,从字符到字节必须编码,这个编码过程比较耗时,所以尽量直接以字节形式发送,尽量提前将字符转化为字节,或者减少从字符到字节的转化过程;
- 根据应用场景设计合适的交互方式,所谓的交互场景主要包括同步与异步、阻塞与非阻塞方式。
两种方式的组合,分别是同步阻塞、同步非阻塞、异步阻塞、异步非阻塞,这四种方式的性能分析如下:
阅读全文
0 0
- I/O调优
- I/O调优
- I/O
- I/O
- I/O
- I/O
- I/O
- I/O
- I/O
- I/O
- I/O
- i/o
- I/O
- I/O
- I/O
- I/O
- I/O
- I/O
- 粒子群算法PSO
- JavaScript的call、apply
- GibbsCAM.2016.11.3.19.0.Multilanguage.Win64 1DVD
- Appium Desktop
- SpringBoot+Mybatis项目使用Redis做Mybatis的二级缓存
- I/O调优
- python Pexpect 实现输密码 scp 拷贝
- (转)Activity返回(finish)时,另一个activity或者fragment如何刷新数据
- JAVA基础——初识JAVA(四)(Scanner、算术、赋值、比较、逻辑、三元运算符)
- python day3 总结
- 比特币延展性攻击
- 使QLabel上显示的图片大小和QLabel自适应
- Apache HttpClient使用
- 计算1-1/2+1/3-1/4+...+1/n的两种方法