我正在創建一個用戶可以上傳和共享文件的網站。我正在考慮爲每個用戶上傳文件創建一個文件夾。這會降低網站速度或導致服務器出現問題嗎?爲每個用戶創建文件夾會壓力還是放慢服務器?
我不期望有一百萬用戶,但大約100,00-200,000。似乎每個用戶都有很多文件夾。
我也有另一種解決方案,只是在文件上傳時重命名文件,但我想保留文件名,以便用戶知道哪個文件是哪個文件。
編輯:如果有幫助,我打算使用Linux服務器。
我正在創建一個用戶可以上傳和共享文件的網站。我正在考慮爲每個用戶上傳文件創建一個文件夾。這會降低網站速度或導致服務器出現問題嗎?爲每個用戶創建文件夾會壓力還是放慢服務器?
我不期望有一百萬用戶,但大約100,00-200,000。似乎每個用戶都有很多文件夾。
我也有另一種解決方案,只是在文件上傳時重命名文件,但我想保留文件名,以便用戶知道哪個文件是哪個文件。
編輯:如果有幫助,我打算使用Linux服務器。
這取決於您使用的文件系統。 ext2
使用鏈接列表。所以它對於大量文件來說很慢。 ext3
使用散列二叉樹。它快得多。大多數服務器都打開目錄索引。所以訪問20k文件夾不會那麼慢。
問題是你的用戶會增長。所以它最好使用嵌套目錄結構而不是單個平面目錄。
如果您創建10,000個文件夾,然後分解樹,以便所有文件夾都不在同一個目錄中。
如果你有用戶「道格」,並且想給他一個文件夾,把它放在/d/o/doug
。
謝謝。 Andy,你的回答很好,但是shiplu提供了更詳細的答案。謝謝你們花時間回答這個:) –