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

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

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

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

到目前为止的回应

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

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

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

次要的想法

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

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

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

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

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

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


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

查看所有标签

猜你喜欢:

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

Ethnography and Virtual Worlds

Ethnography and Virtual Worlds

Tom Boellstorff、Bonnie Nardi、Celia Pearce、T. L. Taylor / Princeton University Press / 2012-9-16 / GBP 21.00

"Ethnography and Virtual Worlds" is the only book of its kind - a concise, comprehensive, and practical guide for students, teachers, designers, and scholars interested in using ethnographic methods t......一起来看看 《Ethnography and Virtual Worlds》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具