存储静态内容时应用程序大小是否重要?

时间:2017-08-26 20:06:50

标签: node.js amazon-s3 static-content application-size

我打算在我的节点应用程序中将HTML,PDF和图像文件存储在公共文件夹中而不是某些s3存储桶b / c我希望从我的域中获取更清晰的URL而不是s3 url。随着时间的推移,我的应用程序增长到包含超过50k的HTML,PDF和图像。

  • 由于应用程序占用空间很大或者它仍能正常工作,这是否会减慢应用程序的速度?

  • 在应用程序中存储大量静态内容的潜在缺点是什么?

2 个答案:

答案 0 :(得分:2)

应用程序的大小对其性能影响很小。还有许多其他因素会产生更大的影响。

在应用程序中存储静态内容的一个缺点是它不是分布式的,并且不能很好地扩展。

答案 1 :(得分:0)

  

由于应用程序占用空间很大或者它仍能正常工作,这是否会减慢应用程序的速度?

如果您在本地存储100Kb或100Gb,则无关紧要。存储在本地硬盘驱动器上的数据量与应用程序的性能无关。

如果您将一个磁盘文件放在一个目录中,这可能会略微影响该目录中文件操作的操作系统性能,但是如果您在目录中传播的文件不超过几千个,则不应影响事情就好了。

您的应用实际读取和写入硬盘的数据量与应用的性能有很大关系。因此,如果这些是静态文件,要求您的服务器以高容量提供服务,并且您将这种情况与文件托管在其他地方并由其他基础设施(如S3)提供服务的情况进行比较,那么这确实有所不同。提供静态文件是一项非常简单的操作,因此您可以随时在Web服务器前放置类似NGINX的东西,以便在需要时非常有效地处理静态文件。

  

在应用程序中存储大量静态内容的潜在缺点是什么?

据推测,你并不是指“在应用程序内”,而是指“在本地硬盘上”。只要需要访问这些文件的唯一服务器进程在本地计算机上,那么实际上没有任何缺点。您需要确保本地硬盘驱动器存在某种备份/冗余解决方案,因为它包含大量重要数据。将数据存储在S3等服务上通常会为您处理备份和冗余(或者您可以轻松启用此类功能)。