2015-10-02 176 views
0

我想知道使用15.5k庫僅用於執行非常簡單的驗證和使用我自己的1k超簡單驗證類在時間之間的影響有多重要當我的系統上有超過10K的用戶時(Node + Mongo在超級奔騰8核心32gb ram上運行)。 關心這14.5k代碼最糟糕嗎?節點服務器:代碼權重和服務器性能

我無法找到任何線索在我這麼暗淡,但總是想知道的頭腦。

我會非常讚賞你的意見。

回答

1

服務器開發的一個好處就是您通常擁有可用的RAM,並且代碼通常只在服務器啓動時加載一次,因此加載時間不是用戶體驗的一部分。

因爲這些,你甚至很難衡量1k庫和15k庫之間的有意義的影響。您可能會關心每個活動用戶15k的內存使用情況,但您不會關心一次加載到內存中的額外15k代碼,它不會以任何方式影響您的服務器性能。

所以,我會說你不應該擔心代碼大小skrimping(在合理的範圍內)。相反,選擇最能解決您問題的工具,使您的開發最快,最可靠。並且在可能的情況下,使用之前已經構建和測試的內容,而不是從頭開始構建自己的。這會讓你有更多的開發時間花在那些讓你的網站變得更好,更好或更棒的事情上。或者,它會讓你更快地上市。

僅供參考,15k爲總計算機內存的0.000045%。

+0

嗨JFriend,非常感謝您的回覆!所以儘管它在內存中沒有意義,那麼CPU ussage呢?如果我有10k用戶與15k重的服務器端程序進行交互,這是否意味着服務器將不得不處理每個請求15k以上的內容? –

+0

@ EduardoG.R。 - 代碼位於內存中。坐在那裏沒有任何花費。如果您擔心某個庫對於某個操作比其他庫更有效,那麼您可以對其進行基準測試,但代碼大小與性能無關。你必須測量性能,以知道哪個更好 - 更大的那個可能會和更小的那個一樣好。不 - 不需要每個請求處理15k以上。 – jfriend00

+0

非常感謝! –

0

我同意@ jfriend00。對於您所描述的代碼大小,內存/性能幾乎沒有影響。您可以隨時根據您的使用情況對不同模塊進行基準測試,並自行選擇。然而,我認爲你應該問自己一些其他(類似)的問題 -

  1. 爲什麼我使用的包是如此'大'?也許有一個'小'' ,做同樣的工作,具有相同的性能。當我在這裏說大或小時,我的意思是在功能方面。大多數情況下,即使尺寸看起來很大,您也可能希望使用最少的功能。如果您使用的驗證模塊也驗證電子郵件,但您不需要它 - 並不意味着您不應該使用它,只需知道折衷方案 - 它可能會更頻繁地更新,因爲電子郵件驗證中的錯誤可能會導致您使用的整數驗證中的其他錯誤,如果您希望生產代碼感覺更安全(如下所述),則您有更多的代碼可供讀取。
  2. 包裝功能是否符合我的預期? (閱讀測試)
  3. 我使用「安全」/「確定生產」的軟件包嗎?閱讀你使用的軟件包的代碼,確保沒有什麼可疑的事情發生 - 通常節點軟件包並不是那麼大,因爲大多數都很少(我從來沒有使用它,但我知道https://requiresafe.com/存在這些類型的問題 - 你可能會想要檢查出來)。請注意,如果它們的尺寸較大,可能意味着您需要閱讀更多代碼。
  4. 請問這些問題(和其他人認爲你應該)遞歸地處理包的依賴關係。
+0

謝謝,記住這一切非常有用! –