15种提高系统伸缩性和性能的最佳实践
2017-02-14 17:32
309 查看
1, 提高系统性能, 需要尽早做性能剖析, 而且要经常做.当项目进行到后期, 你再考虑剖析性能时, 复杂的系统结构会让你望而却步.
2, 开发者和SA的合作是有必要的, SA可以反馈线上的运行状况给开发者, 防止一些紧急事故的发生, 恶化.
3, 模拟生产环境的数据来做测试, 可以减少上线时, 出现未知问题的概率, 使问题更早的被暴露出来.
4, 通过监控日志, 查看系统负载, 分析程序运行状况等手段, 来跟踪生产系统的性能变化趋势, 有利于提早问题.
5, 任何时候都不要相信假设, 要用真实环境/数据说话.
6, 解耦系统, 可以隔离性能热点.
7, 缓存是最有效的优化手段.
8, 尝试使用数据联邦, 来整合多个数据源, 减少数据依赖的复杂性.
9, 集群节点间做数据复制, 可使系统具备良好的伸缩性.
10, 尽量避开使用一些伸缩性低的资源服务(影响自身的伸缩性), 比如无法缓存的, 存在大量读写操作的数据服务.
11, 使用一些语言级的优化, 比如调优jvm options. 开启PHP engine缓存解析内容等.
12, 严格控制一些可能存在瓶颈的外部数据访问, 比如 Feed, RDBMS等.
13, 写代码谨防懒惰, 一些简单的循环也可能给系统带来严重的危害.
14, 不要弄巧成拙, 避免过度设计.
15, 缓存最重要的是命中率, 没有高命中率不如不缓存.
2, 开发者和SA的合作是有必要的, SA可以反馈线上的运行状况给开发者, 防止一些紧急事故的发生, 恶化.
3, 模拟生产环境的数据来做测试, 可以减少上线时, 出现未知问题的概率, 使问题更早的被暴露出来.
4, 通过监控日志, 查看系统负载, 分析程序运行状况等手段, 来跟踪生产系统的性能变化趋势, 有利于提早问题.
5, 任何时候都不要相信假设, 要用真实环境/数据说话.
6, 解耦系统, 可以隔离性能热点.
7, 缓存是最有效的优化手段.
8, 尝试使用数据联邦, 来整合多个数据源, 减少数据依赖的复杂性.
9, 集群节点间做数据复制, 可使系统具备良好的伸缩性.
10, 尽量避开使用一些伸缩性低的资源服务(影响自身的伸缩性), 比如无法缓存的, 存在大量读写操作的数据服务.
11, 使用一些语言级的优化, 比如调优jvm options. 开启PHP engine缓存解析内容等.
12, 严格控制一些可能存在瓶颈的外部数据访问, 比如 Feed, RDBMS等.
13, 写代码谨防懒惰, 一些简单的循环也可能给系统带来严重的危害.
14, 不要弄巧成拙, 避免过度设计.
15, 缓存最重要的是命中率, 没有高命中率不如不缓存.
相关文章推荐
- 15种提高系统伸缩性和性能的最佳实践
- 15种提高系统伸缩性和性能的最佳实践
- 13种提高系统伸缩性的最佳实践
- 13种提高系统伸缩性的最佳实践
- 13种提高系统伸缩性的最佳实践
- 13种提高系统伸缩性的最佳实践
- 13种提高系统伸缩性的最佳实践
- 提高DB2存储过程性能和健壮性的3个最佳实践.
- Yahoo提高网站性能34条最佳实践四
- 提高.NET性能的最佳实践
- 提高.NET性能的最佳实践
- Yahoo提高网站性能34条最佳实践一
- 提高.NET性能的最佳实践
- 提高web站点性能的最佳实践
- 提高 Web 站点性能的最佳实践
- Yahoo提高网站性能34条最佳实践二
- 提高.NET性能的最佳实践
- [转帖]提高.NET性能的最佳实践
- 如何提高Web应用系统的性能和伸缩性(ZT)
- Yahoo提高网站性能34条最佳实践三