![](/img/trans.png)
[英]Interpreted vs. Compiled Languages for Web Sites (PHP, ASP, Perl, Python, etc.)
[英]PHP vs. long-running process (Python, Java, etc.)?
我想對使用PHP編寫Web應用程序而不是使用Django或Turbogears for Python等工具進行長時間運行的過程表示您的意見。
據我所知: - 在PHP中,頁面每次都從硬盤中提取(雖然我假設操作系統在訪問后將文件保存在RAM中一段時間) - 每次都會將頁面重新編譯為操作碼(盡管來自例如Zend的工具可以將編譯版本保存在RAM中 - 每次獲取頁面意味着每次都讀取全局和會話數據,並重新打開與DB的連接
因此,我認為PHP在共享服務器(共享同一主機的多個站點)上運行適度使用的應用程序是有意義的,而長期運行的流程可以提供更高的性能,在專用服務器上運行並且使用頻繁的應用程序?
感謝您的任何反饋。
在應用memcache,操作碼緩存和連接池之后,PHP和其他選項之間唯一真正的區別是PHP是短暫的,基於處理的,而其他選項通常是基於長期多線程的。
PHP的優點是編寫腳本很簡單。 您不必擔心內存管理(它總是在請求結束時發布),您不必非常擔心並發性。
無論如何,我可以看到的主要缺點是,一些更高級(有時更瘋狂?)的事情更難:預先計算結果,加熱緩存,重用現有數據,請求優先級和異步編程。 我相信人們可以想到更多。
但大多數時候,這些缺點並不是什么大問題。 您可以通過添加更多計算機和使用更多緩存來擴展。 一般的Web開發人員不需要擔心並發控制或內存管理,因此從刪除它們中獲取微不足道的打擊並不是什么大問題。
在我看來,PHP適用於任何一種用途,性能開銷很少被注意到。 通常會有其他過程延遲程序。 使用eAccelerator之類的東西很容易緩存PHP程序。
正如許多其他人所指出的那樣,PHP和Django將成為你的瓶頸。 在硬盤上點擊PHP上的字節碼對於流量大的網站來說是無關緊要的,因為緩存將在那時接管。 Django也是如此。
模型/視圖和用戶體驗設計將比語言本身具有數量級的性能優勢。
PHP是一種像Java等語言。只有你的可執行文件是php二進制文件,而不是JVM! 您可以為PHP-Scripts設置另一個MAX-Runtime而不會出現任何問題(如果您的共享托管服務提供商允許您這樣做)。
應用程序運行的位置不應取決於服務器的類型。 它應該取決於應用程序使用的資源(CPU時間,RAM)以及服務器/ Vserver /共享主機給出的內容!
出於性能調優的原因,您應該查看eAccelerator等.Apache還支持連接池模塊! 見mod_dbd 。 如果需要擴展(如在集群中),可以使用像memcached這樣的分布式內存緩存系統!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.