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, 缓存最重要的是命中率, 没有高命中率不如不缓存.