高性能服务总结
来源:互联网 发布:获取百度指数的源数据 编辑:程序博客网 时间:2024/06/05 09:47
之前写了高性能服务的总结,现在想完善一下,主要从以下四个方面讨论高性能的注意点:
1.cpu
- 服务使用tomcat作为web应用服务器,用nio方式代替bio方式,减少在高并发下上下文的切换;
- 减少同一台其他服务的干扰,尤其是cpu密集型的程序,例如爬虫、redis之类的;
- 空间换时间,能缓存的尽量缓存,减少cpu计算时间;数据量较大的结果可以做多级缓存;
- 尽量减少不必要对象的生成,减少gc时间;可以通过优化程序,使用线程池等方式;
- 在线的计算能离线的尽量离线提前计算好;
2.io
- 尽可能的少记录log,只记录关键log;
- 顺序读写替换随机读写;
- 异步化操作;
3.memory
- 保持机器内存充裕,尽量保持无swap;
- 给服务分配足够的内存,jvm参数调优;
- 进程内缓存的同时不要占用old区太多的空间,离major gc阀值保持距离(如果超过就等着频繁major gc吧),减少major gc的次数;
- 避免内存泄露(很幸运,编码的时候还没遇到过);
4.network
- 禁用nagle;
- 窗口拥塞的情况下限流;
- 适当增大初始化时拥塞窗口大小(没试验过,aliapp有此介绍);
总结的一般,算是笔记吧,与大家共勉;
0 0
- 高性能服务总结
- 高性能日志服务
- 高性能jredis服务
- 高性能知识总结
- 高性能mysql总结
- 高性能javascript总结
- 《高性能MySQL》总结
- 实现高性能gsoap服务
- 实现高性能gsoap服务 .
- 高性能计算学习总结
- Web高性能开发总结
- StringBuilder高性能用法总结
- Web高性能开发总结
- 高性能,高架构设计总结
- .NET 3.5 高性能 Socket 服务 SocketAsyncEventArgs
- 创建高性能的WCF服务
- 高性能JAVA队列服务(SQSDB)
- 多线程、高性能缓存服务实现代码
- /tmp/mathworks_15227/java/jre/glnxa64/jre/bin/java: Permission denied
- 近期接触到的开源工具总结
- QT——QSqlRelationalTableModel 、 QSqlRelationalDelegate
- 正则表达式数据验正
- VS2008启动调试加载进程卡死
- 高性能服务总结
- 角色技能攻击范围点区域显示
- 终于到了今天
- 剪格子
- 【C++报错】不是“std::iterator_traits<_Iter>”基类的成员
- Canopy聚类算法(经典,看图就明白)
- SQL查找和删除重复行
- Linux权限
- 怎么上facebook、youtube、twitter? 图文教程。