2017-08-26 32 views
1

我打算將HTML,PDF和圖像文件存儲在公共文件夾中的節點應用程序中,而不是某些s3存儲桶b/c我希望從我的域而不是s3 url獲得更清潔的URL。隨着時間的推移,我的應用程序將增長到包含超過50k的HTML,PDF和圖像。存儲靜態內容時應用程序大小是否重要?

  • 這是否會減慢應用程序的未來速度,因爲應用程序的佔用空間很大或仍然可以正常工作?

  • 在應用程序中存儲大量靜態內容的潛在缺點是什麼?

回答

0

這是否會減慢應用程序的未來速度,因爲應用程序的佔用空間很大或仍然可以正常工作?

如果您在本地存儲100Kb或100Gb,則無關緊要。存儲在本地硬盤上的數據量與您的應用程序的性能無關。

如果您將一個zillion文件全部放在一個目錄中,這可能會稍微影響該目錄中文件操作的操作系統性能,但是如果您將文件在目錄中的數目擴展到不超過幾千個,則不應該完全影響事物。

應用程序實際讀取和寫入硬盤的數據量與應用程序的性能有很大關係。因此,如果這些文件是靜態文件,請求您的服務器以高容量進行服務,並將該情況與其他文件託管在別處並由其他某些基礎架構(如S3)提供服務的情況進行比較,那麼確實會有所幫助。提供靜態文件是非常簡單的操作,因此您可以隨時在Web服務器前放置類似NGINX的內容,以便在需要時非常高效地處理靜態文件的提供。

在應用程序中存儲大量靜態內容的潛在缺點是什麼?

大概你並不是真正意思是「在應用程序內」,而是你的意思是「在本地硬盤上」。只要需要訪問這些文件的唯一服務器進程在本地計算機上,那麼就沒有任何缺點。您需要確保本地硬盤具有某種備份/冗餘解決方案,因爲它包含大量重要數據。將數據存儲在像S3這樣的服務上通常會爲您提供備份和冗餘(或者您可以輕鬆啓用這些功能)。

2

應用程序的大小對其性能影響很小。還有很多其他因素影響更大。

在應用程序中存儲靜態內容的一個缺點是它不是分佈式的,並且不能很好地擴展。

相關問題