Web应用程序的瓶颈

时间:2011-10-31 14:40:20

标签: javascript django performance web-applications

我正在使用django,postgreSQL,html5和javascript开发一个Web应用程序。该应用程序是javacript密集型,并且是读/写密集型的。一些常见的瓶颈是什么?在设计可扩展的Web应用程序时,要记住哪些事项?提高绩效有哪些提示?

谢谢!

5 个答案:

答案 0 :(得分:0)

数据库数据库数据库。确保您可以添加更多数据库服务器,而不会有太多痛苦。 添加应用服务器通常相当简单,但数据库复制/群集可能会变得棘手。

答案 1 :(得分:0)

这取决于。这取决于您的应用程序的使用方式。在知道有多少用户执行并发请求之前,您无法判断。大多数情况下,它将是您的数据库,具体取决于它可以管理的每秒请求数。

因此,如果您了解应用程序模式(读取密集型或写入密集型),则可以将其设计为更容易扩展。只做复制就足够了吗?

答案 2 :(得分:0)

从第1天开始,您的问题将是客户端从服务器下载内容所需的时间。 CDN,缩小和合并资产应该是主要关注点。

(联合国),除非你去谷歌,否则你不会变得足够大,不需要多个应用程序,数据库服务器(没有冒犯)。

答案 3 :(得分:0)

一些建议:

1)由于您说读写密集,您需要决定如何构建数据库以使其更易读或写。最常发生的事情。如果是读取,则索引是您的朋友。如果是写,那么要小心索引疯狂。

2)在客户端,请注意过于频繁地写入实时DOM。如果你需要做大量的表行,将它们加载到内存中的父元素中,然后一次性将所有父元素加载到DOM中。

答案 4 :(得分:0)

您可以查看http://ilian.i-n-i.org/tag/cache/有三篇关于缓存的文章以及它对您网站的帮助。

至于秤......你确定你的应用需要它吗? 不要让我扭动,拥有多个数据库服务器,CDN,负载平衡器等是很棒的,但你真的需要它吗?如果你正在开始一个新项目,你应该专注于提供一个稳定的功能,而不是优化每天一百万次点击,因为你可能不会制作它们(至少在开始时)。 从缓存开始,如果正确使用,它很容易实现并且有效。当你的访客得到这么多,你到达瓶颈时,他们会为他们考虑但不是更早。

以上并不意味着您应该编写可能的最慢代码。它只意味着当你有工作应用程序时需要极高的可扩展性,如果你浪费1年和1吨黄金来构建它,你可能会错过这一时刻。