做单节点的优化,主要侧重于逻辑优化、算法优化和代码优化等。基本原则如下。
- 优化算法,选择合适高效的算法,降低不必要的递归、循环、多层循环嵌套等计算。用简单的算法完成大部分情况,不要为少数特例而将算法复杂化。特例由特殊的分支处理。
- 避免申请过多不必要的内存开销。
- 及时释放资源,降低资源占用时间,包括内存、I/O、网络和数据库等。
- 善用缓存:缓存常用的、不易变化的;偶有变化,可以考虑缓存依赖机制。
- 慎用数据库锁。
- 恰当地使用事务,事务要细粒度。
- 选择适当的通信方式:Socket、Remoting、Web Services(REST和SOAP)、WCF、 Named Pipes等,要特别注意长连接和短连接的恰当使用。
- 计算并行化。
- 降低系统或模块之间的通信次数,例如工作流服务和数据库服务。
- 降低系统或模块之间的传输数据量,不必要传输的不传或少传。
- 异步计算,降低等待时间。
- 考虑延迟加载和提前加载两种方式。
- 分离原则:分离业务模块,如分离大I/O模块、分离高耗内存模块和分离高耗宽带模块。
- 统筹使用计算资源,如寻求内存计算、数据库计算和网络开销三者之间的最佳平衡。
参考资料:
履单流程的弹性架构——麦包包峰值架构实践:http://www.csdn.net/article/2014-11-11/2822581
0 条评论。