Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Web应用的瓶颈_Javascript_Django_Performance_Web Applications - Fatal编程技术网

Javascript Web应用的瓶颈

Javascript Web应用的瓶颈,javascript,django,performance,web-applications,Javascript,Django,Performance,Web Applications,我正在使用django、postgreSQL、html5和javascript开发一个web应用程序。该应用程序是JavaScript密集型的,并且读/写密集型。哪些是常见的瓶颈?在设计一个具有良好伸缩性的web应用程序时,需要记住哪些事项?有哪些技巧可以提高性能 谢谢 数据库。确保您可以添加更多的db服务器,而不会带来很多麻烦。 添加应用服务器通常相当简单,但数据库复制/集群可能会变得棘手。数据库。确保您可以添加更多的db服务器,而不会带来很多麻烦。 添加应用服务器通常相当简单,但DB复制/集

我正在使用django、postgreSQL、html5和javascript开发一个web应用程序。该应用程序是JavaScript密集型的,并且读/写密集型。哪些是常见的瓶颈?在设计一个具有良好伸缩性的web应用程序时,需要记住哪些事项?有哪些技巧可以提高性能


谢谢

数据库。确保您可以添加更多的db服务器,而不会带来很多麻烦。
添加应用服务器通常相当简单,但数据库复制/集群可能会变得棘手。

数据库。确保您可以添加更多的db服务器,而不会带来很多麻烦。
添加应用服务器通常相当简单,但DB复制/集群可能会变得棘手。

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


因此,如果您知道您的应用程序模式(读密集型或写密集型),您可以设计它以便于扩展。只做复制就足够了吗?

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


因此,如果您知道您的应用程序模式(读密集型或写密集型),您可以设计它以便于扩展。仅进行复制就足够了吗?

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


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

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

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

几点建议:

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

2) 在客户端,请注意不要太频繁地向live DOM写入数据。如果需要加载大量的表行,请将它们加载到内存中的父元素中,然后一次性将该父元素加载到DOM中。

几点建议:

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

2) 在客户端,请注意不要太频繁地向live DOM写入数据。如果您需要加载大量的表行,请将它们加载到内存中的父元素中,然后将该父元素一次加载到DOM中。

您可以看看关于缓存的三篇文章,以及缓存如何帮助您的网站

至于天平呢。。。您确定您的应用程序需要它吗? 不要逼我,拥有多个数据库服务器、CDN、负载平衡器等是很棒的,但你真的需要它吗?如果你要开始一个新的项目,你应该把重点放在提供稳定的功能上,而不是每天优化一百万次,因为你可能不会去做它们(至少在开始的时候)。 从缓存开始,如果正确使用,它很容易实现并有效。当你的访客得到这么多,你达到瓶颈时,为他们想一想,但不要更早

上述情况并不意味着您应该编写尽可能最慢的代码。这只意味着当你有一个可以工作的应用程序时,就需要极大的可伸缩性,如果你浪费1年时间和一吨金子来构建它,你可能会错过这一刻。

你可以看看下面三篇关于缓存的文章,以及缓存如何帮助你的网站

至于天平呢。。。您确定您的应用程序需要它吗? 不要逼我,拥有多个数据库服务器、CDN、负载平衡器等是很棒的,但你真的需要它吗?如果你要开始一个新的项目,你应该把重点放在提供稳定的功能上,而不是每天优化一百万次,因为你可能不会去做它们(至少在开始的时候)。 从缓存开始,如果正确使用,它很容易实现并有效。当你的访客得到这么多,你达到瓶颈时,为他们想一想,但不要更早


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

在你确保能够复制数据库之前,你应该首先考虑优化-优化查询,添加适当的索引等可能比无意识地添加更多数据库服务器更好。我不同意。在这样的系统中,如果您担心这样的事情,那么您至少需要第二台服务器进行故障切换/冗余。数据库通常是瓶颈,但首先您将面临ORM的问题。ORM系统非常棒,但它们太抽象了,有时不适合特定的数据库供应商。在确保能够复制数据库之前,您应该首先考虑优化-优化查询,添加适当的索引等。这可能比盲目添加更多数据库服务器更好。我不同意。那样