写点什么

提升可伸缩性的八项最佳实践

  • 2009-05-19
  • 本文字数:925 字

    阅读完需:约 3 分钟

Wille Faler 提出了八项提升系统可伸缩性和性能的最佳实践,其中包括减少数据库操作、使用缓存、减少网络通信等实践。

1. 减少数据库操作 - 尽可能远离数据库。如无必要,就不要打开数据库连接或者启动事务。

2. 缓存带来的显著变化 - 缓存能极大地减低数据库的负担,特别是当系统通过只读方式访问数据库的时候。内存缓存优于磁盘缓存,而磁盘缓存又优于远程缓存和关系型数据库。

3. 尽可能缓存粗粒度对象 - 缓存粗粒度对象“可以省去遍历 n 个缓存单元的 CPU 开销和时间。而且,获得完整的对象关系图也省去了对象关系图的装配时间。”

4. 不要永久性保存瞬态信息 - 避免在数据库里面存储瞬态数据,比如登录的会话信息。

“状态怪物”是一只非常危险的怪兽。根据一般的规律,在持久性存储设施(数据库、磁盘等)里面只需要保存真实的、必要的、关键的,以及需要备录的业务数据,其他的都不在此列。

5. 位置、位置 - 把东西放在靠近需要使用它们的地方。相对于负载均衡器、Web 服务器、应用服务器和数据库多个环节,直接经过负载均衡器和 Web 服务器从 CDN 获取数据要快一些,开销也更小。

6. 约束对有限资源的并发访问 - 如果多个请求需要访问同样的资源,执行同样的计算,最好是只处理首个请求,让其他的请求等待计算完成后直接使用最终结果。让所有的线程去访问同一个资源只会减缓处理的速度。

7. 分阶段地、异步地处理

根据处理过程的异步性,把该过程分散成单独的步骤,通过队列来隔离;每个步骤使用有限数量的工人线程进行处理:这样经常会给可伸缩性和性能同时带来奇迹般的变化。

8. 使网络延迟最小 - 尽可能使应用系统不去做远程访问,因为网络通信要明显慢于内存访问。在 Faler 这篇文章的评论里面, Steve M. Ciske 对减少数据库操作的做法表示了忧虑:

对于减少数据库操作的做法,我持谨慎态度。我见多了人们走向另一个极端,把所有的东西都放在应用层。

Paweł Stradomski 认为远程内存缓存要快于本地磁盘缓存,Faler 也表示了同意:

远程主机(通过网络连接)缓存可能会快于本地磁盘缓存。如果不考虑网络查找的时间,从磁盘顺序读取数据比从远程主机的内存里面读取数据要慢三倍。

延伸阅读:Simon Brown 的文章“可伸缩性原则”。

查看英文原文 8 Best Practices to Improve Scalability

2009-05-19 20:323284
用户头像

发布了 76 篇内容, 共 28.4 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

探索API主导的最佳AI创业项目商业模式

幂简集成

AI 商业模式 API

软件测试学习笔记丨Flask操作数据库一对多操作

测试人

软件测试

使用 Postman 变量的入门指南

Liam

程序员 后端 变量 Postman API

Web3.0区块链技术开发方案丨NFT项目开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

豆瓣评分9.6!有趣又实用的典范,Python小白应该人手一份!

我再BUG界嘎嘎乱杀

Python 编程 入门 开发语言 零基础

你真的完全理解 Logistic 回归算法了吗

不在线第一只蜗牛

人工智能 数据挖掘 逻辑回归

Python高频面试题解析公开课

霍格沃兹测试开发学社

Web3.0区块链技术开发方案丨dapp项目模式制度开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

Web3.0区块链技术开发方案丨中心化与去中心化交易所开发

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

低代码平台:国内十大低代码开发平台排名

优秀

低代码 低代码平台

作为CTO,你还能忍受公司内部监控系统的无限增殖吗?

可观测技术

监控

为什么观测云选择持续输出最佳实践

可观测技术

可观测性

Flink⼤状态作业调优实践指南:Datastream 作业篇

Apache Flink

大数据 flink Datastream

文旅营销的艺术与技术,在鲸鸿动能合而为一

脑极体

AI

软件测试学习笔记丨Flask操作数据库-数据增删改查

测试人

软件测试

Dynatrace仅是APM,你需要的是全方位的监控观测平台

可观测技术

监控

李尔将收购西班牙自动化和智能公司WIP Industrial Automation

财见

一文讲清楚精益数据方法论在数据治理中的应用

神州数码

精益数据 精益数据方法论

海外云手机对比真实手机有什么特点?

Ogcloud

云手机 海外云手机 云手机海外版 海外云手机推荐

提升可伸缩性的八项最佳实践_最佳实践_Abel Avram_InfoQ精选文章