我想知道哪種語言是PHP的解釋型語言還是Asp.net編譯語言,以便在以下情況下采用以獲得更好的性能,爲什麼? 場景: 必須建立企業對企業門戶網站,該網站將面對每小時10,000個用戶的流量。哪種解決方案可以更好地選擇性能?爲什麼?
回答
很難回答的書,沒有太多的信息...... ASP.net編譯型語言會給你的表現,而不是一種解釋語言像老ASP,PHP一個小型升壓等
原因後面是編譯語言更快,因爲它們已經編譯了所有內容,而不是必須在運行中讀取和編譯的php頁面。 但是PHP也有一些技巧通過編譯來提高速度......
最後ASP.NET和PHP的速度應該是一樣的。
所以這不應該是你的主要問題。你應該將注意力放在:
擁有一個可擴展的網站,可以讓你有多個Web服務器集羣中,讓你的網站來處理所有的用戶
儘量不使用會話如果可能的變量讓用戶輕鬆集羣
- DB東西
- 價格(如果你將需要5臺Web服務器和3臺DB服務器,5 Linux上,5個阿帕奇& 5個Postgres的許可證是真的比更便宜集羣7 Windows 2003 Ser vers + 3 SQLServer 2008)
Facebook上的人使用HipHop for PHP將PHP代碼轉換爲C++代碼,使其非常快速。
通常語言如C/C++比其他語言更快,因爲它們直接彙編到彙編代碼。所以我會選擇其中之一。
ASP.NET,Java和PHP(帶有加速器,如APC或eAccelerator)的速度是可比的。你不會看到它們之間有很大的性能差異。
還有其他因素比編程語言影響性能,比如數據模型,數據庫和您使用的算法。
選擇編程語言時還有其他因素需要考慮。 ASP.NET和Java都有一個很好的標準庫,PHP不一致,不完全面向對象。
性能有時是一個複雜的主題,它可能涉及許多任務,其淨/平均性能將決定您的應用程序的整體性能。
例如,如果您將較大的任務分解爲較小的任務,那麼小任務的執行會影響整體性能。在單獨的執行線程中運行的小任務對PHP來說是不可能的,所以你不能以這種方式獲得更好的性能。
PHP不使用外部庫,不會讓你優化性能。從個人經驗和經過一些研究後,顯然PHP無法滿足高性能應用程序的要求,我不得不開發。在類似的情況下,我發現人們已經切換到java或.net爲此。
換句話說,PHP對於特定主題(如性能)有利有弊。在對提供性能優化的能力做出任何結論之前,一定要了解您使用的語言和運行時(如果有)的限制。
編譯代碼會更快,但對於這種特殊情況PHP擴展可以利用性能損失。
正如我之前所說,其他方式存在於提高性能,但有些涉及您的PHP代碼的編譯。您是否會相信HipHop PHP適用於大規模PHP應用程序,而無需考慮LAMP堆棧的穩定性,兼容性和其他問題?
線程通常不是一個問題 - 當你處理多個客戶端時,你已經有了多個線程的執行,通常由Web服務器本身提供。 – 2010-07-08 10:45:31
這個評論清楚地表明我的觀點並不是。也許完全重寫將會完成這項工作。 – Andreas 2010-07-08 15:58:10
- 1. 哪種解決方案把手發佈/訂閱方案更好?
- 2. 爲什麼第二種解決方案比第一種更快?
- 3. 哪個解決方案比oracle更好?
- 4. 什麼是可能的解決方案
- 5. 哪種方法更好,爲什麼?
- 6. 複選框綁定 - 什麼是更好的解決方案?
- 7. Unity3D - 選擇哪種網絡解決方案?
- 8. 針對域名數據庫選擇哪種NoSQL解決方案?
- 9. 更好的解決方案?
- 10. 在GitHub上本地化個人頁面。選擇哪種解決方案?
- 11. 地圖解決方案給AC和解決方案與unordered_map給WA。爲什麼?
- 12. 性能的解決方案
- 13. 哪些jQuery選擇器性能更好?
- 14. 哪種方法更好,爲什麼?在PL/SQL中選擇語句或函數?
- 15. 這兩種解決方案哪一種更高效? (Java Hashset)
- 16. 哪種認證方法是更好的解決方案?寧靜還是authlogic?
- 17. 爲Django項目選擇一個好的異步解決方案
- 18. 什麼是選擇真實解決方案的正確方法?
- 19. 尋找更好的解決方案,可能頁面控制?
- 20. 哪種方法簽名好,爲什麼?
- 21. 什麼是我的購物車更好的解決方案?
- 22. 什麼是更好的垂直分頻器解決方案?
- 23. 哪種方法可以提高性能?
- 24. 多種解決方案可以加速Dijkstra的性能下降嗎?
- 25. 爲什麼看不到解決方案
- 26. 歐拉3解決方案,爲什麼?
- 27. 以下哪種方法對大表有更好的性能?
- 28. 哪種方法和數據庫的性能關鍵的解決方案
- 29. 哪種方法可以更好地刪除數組成員?
- 30. 哪種方法可以更好地編寫getActivity(),getApplicationContext()?
謝謝您的深刻解答Cad我非常感謝您提供的所有信息,特別是價格。 我的困惑是,我的PHP頁面會被一次又一次地解釋爲每個用戶來? – 2010-07-08 10:30:02
@mohsin它不像你看起來那麼糟糕。真實的你永遠不會注意到這一點。數據庫後端將成爲90%性能問題的來源,因此這種解釋性能將成爲您不得不關注的最後一件事。 – 2010-07-08 10:45:32
@Col你可能是對的:) – 2010-07-08 10:48:40