Nginx
高級 Web 伺服器能否比基本 Web 伺服器更快?
一個 bsic web 伺服器,例如 python
SimpleHTTPServer
或THTTPD
以最少的程序讀取靜態文件;因此相當快。通常,添加更多功能來創建高級 Web 伺服器(但仍然是輕量級的,例如nginx
)會減慢這個過程。先進的 Web 伺服器能否發揮作用來加快處理速度?還是比最簡單的更簡單是不可能的,最簡單的是讀取靜態文件的最快方法?我的意思是
nginx
(或其他聲稱速度快的輕量級 Web 伺服器)可以比THTTPD
(或其他具有最少程序的基本 Web 伺服器)更快嗎?而CGI腳本呢,as
HTTPD
和pythonCGIHTTPServer
可以簡單的執行cgi腳本。
功能較少的 Web 伺服器具有較小的記憶體和 CPU 佔用空間,這使得它們在執行特定任務時更快。其中一些還專門設計用於一項任務。
這就是PHP-FPM之類的軟體應運而生的原因。與其讓一個臃腫的 apache2 程序為每個程序載入一個 PHP 模組,不如為靜態文件(如 nginx)使用前端,為動態應用程序使用後端(如通過 FastCGI 的 PHP-FPM)。
但是,它確實取決於您的使用情況和環境。如果您正在進行 99% 的動態處理,那麼可能不值得這麼麻煩。一個很好的例子可能是一個 Java 應用程序。當你可以只使用 tomcat 而沒有其他東西時,做所有設置前端和後端的工作沒有多大意義。