算法 – 如何使我的应用程序扩展良好?

栏目: 编程工具 · 发布时间: 7年前

内容简介:我唯一要说的是编写你的应用程序,以便它可以从一开始就部署在集群上.以上任何事情都是过早的优化.您的第一份工作应该是让足够多的用户遇到扩展问题.尽可能简单地构建代码,然后对系统进行概要分析,并仅在存在明显性能问题时进行优化.通常,分析代码的数字是违反直觉的.瓶颈往往存在于你认为不会缓慢的模块中.在优化方面,数据是最重要的.如果您优化了您认为会很慢的部件,您通常会优化错误的部件.
一般而言,哪种设计决策有助于应用程序很好地扩展?

(注意:刚刚了解了 Big O Notation ,我想在这里收集更多编程原则.我试图通过回答下面的问题来解释Big O Notation,但我希望社区能够改进这个问题和答案.)

到目前为止的回应

1)定义缩放.您是否需要扩展虚拟环境中的大量用户,流量和对象?

2)看看你的算法.他们的工作量是否会与实际工作量成线性关系 – 即要循环的项目数量,用户数量等等?

3)看看你的硬件.您的应用程序是否设计为可以在多台计算机上运行,​​如果无法跟上?

次要的想法

1)不要过早优化太多 – 先测试一下.也许瓶颈会发生在不可预见的地方.

2)也许扩展的需要不会超过摩尔定律,也许升级硬件会比重构更便宜.

我唯一要说的是编写你的应用程序,以便它可以从一开始就部署在集群上.以上任何事情都是过早的优化.您的第一份工作应该是让足够多的用户遇到扩展问题.

尽可能简单地构建代码,然后对系统进行概要分析,并仅在存在明显性能问题时进行优化.

通常,分析代码的数字是违反直觉的.瓶颈往往存在于你认为不会缓慢的模块中.在优化方面,数据是最重要的.如果您优化了您认为会很慢的部件,您通常会优化错误的部件.

翻译自:https://stackoverflow.com/questions/41367/how-can-i-make-my-applications-scale-well


以上所述就是小编给大家介绍的《算法 – 如何使我的应用程序扩展良好?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

IT不再重要

IT不再重要

(美)尼古拉斯·卡尔 / 闫鲜宁 / 中信出版社 / 2008-10 / 29.00元

在这部跨越历史、经济和技术领域的著作中,作者从廉价的电力运营方式对社会变革的深刻影响延伸到互联网对我们生活的这个世界的重构性影响。他批判式的认为,企业想应用网络或应用程序,不再需要自建资料中心、自组IT团队维护和管理系统,因为互联网就像自来水或电力一样,可由专门公司提供服务,你可以付费使用。而如果他的设想真的会实现,我们的世界将会变成什么样子?IT产业的命运又将如何?这又对企业的IT领域投资产生什......一起来看看 《IT不再重要》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具