【IT168 专稿】怎样才能提升系统性能?Wille Faler 提出了八项提升系统可伸缩性和性能的非常好的实践,其中包括减少数据库操作、使用缓存、减少网络通信等实践。
1. 减少数据库操作 :尽可能远离数据库。如无必要,就不要打开数据库连接或者启动事务。
2. 缓存带来的显著变化 :缓存能极大地减低数据库的负担,特别是当系统通过只读方式访问数据库的时候。内存缓存优于磁盘缓存,而磁盘缓存又优于远程缓存和关系型数据库。
3. 尽可能缓存粗粒度对象 : 缓存粗粒度对象“可以省去遍历n个缓存单元的CPU开销和时间。而且,获得完整的对象关系图也省去了对象关系图的装配时间。”
4. 不要永久性保存瞬态信息 : 避免在数据库里面存储瞬态数据,比如登录的会话信息。
“状态怪物”是一只非常危险的怪兽。根据一般的规律,在持久性存储设施(数据库、磁盘等)里面只需要保存真实的、必要的、关键的,以及需要备录的业务数据,其他的都不在此列。
5. 位置 : 把东西放在靠近需要使用它们的地方。相对于负载均衡器、Web服务器、应用服务器和数据库多个环节,直接经过负载均衡器和Web服务器从CDN获取数据要快一些,开销也更小。
6. 约束对有限资源的并发访问 :如果多个请求需要访问同样的资源,执行同样的计算,最好是只处理首个请求,让其他的请求等待计算完成后直接使用最终结果。让所有的线程去访问同一个资源只会减缓处理的速度。