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

Does application size matters when storing static content?

我计划将我的节点应用程序中的 HTML、PDF 和图像文件存储在 public 文件夹中而不是某些 s3 存储桶中 b/c 我想要更清洁的东西 url s 来自我的域而不是 s3 url。随着时间的推移,我的应用程序增长到包含超过 50k 的 HTML、PDF 和图像。

应用程序的大小对其性能的影响很小。还有很多其他影响较大的因素。

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

Does this slows down the application in the future since the application footprint will be huge or will it still work fine?

本地存储100Kb还是100Gb都没关系。本地硬盘上存储的数据量与应用程序的性能无关。

如果将无数个文件全部放在一个目录中,可能会略微影响该目录中文件操作的 OS 性能,但如果您将文件分散到一个目录中的文件不超过几千个目录,它根本不应该影响任何事情。

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

What are the potential downsides of storing huge amount of static content within the app?

据推测,您的意思并不是 "within the app",而是 "on the local hard drive"。只要需要访问这些文件的唯一服务器进程在本地机器上,就真的没有缺点。您需要确保本地硬盘有某种 backup/redundancy 解决方案,因为它包含大量重要数据。将数据存储在像 S3 这样的服务上通常会为您处理备份和冗余(或者您可以轻松启用此类功能)。