http://httpd.apache.org/docs/2.4/new_features_2_4.html

對基本核心的改善

1。Run-time Loadable MPMs – 跟 MPM 有關,變成模組  ? 可以運作中隨時變動  ??!!!
2。Event MPM – 這個為了解決keep alive 的問題,現在變成正式的,非只是實驗性質

引用 : http://httpd.apache.org/docs/2.2/mod/event.html

This MPM tries to fix the ‘keep alive problem’ in HTTP. After a client completes the first request, the client can keep the connection open, and send further requests using the same socket. This can save signifigant overhead in creating TCP connections. However, Apache traditionally keeps an entire child process/thread waiting for data from the client, which brings its own disadvantages. To solve this problem, this MPM uses a dedicated thread to handle both the Listening sockets, and all sockets that are in a Keep Alive state.

引用 : http://www.01-labor.com/2011/08/apache-with-event-mpm-mode.html

Apache在prefork mode下,一個process同時間只能服務一條connection,而worker mode一個thread只能服務一條connection,他們都是blocking mode,一旦所有的process/thread被block住,就沒辦法再服務新的connection,系統全部都在等待io,CPU使用率相對很低。

Event MPM mode可以解決上述問題。

(題外話,就算是把fd設定成non-blocking,搭配polling (select())的方式,其反應速度仍遠不及event-driven,因為fd數目越多polling的時間就會越久,而且polling也是很浪費CPU的。Event-driven的高效能要在current connection量大時才看得出來,特別是keep-alive的connection。)

3。Asynchronous support
4。Per-module and per-directory LogLevel configuration
5。Per-request configuration sections – 可以用 <If>, <ElseIf>, and <Else>  語法在 conf裡
6。General-purpose expression parser
7。KeepAliveTimeout in milliseconds – keep alive timeout 現在可以用毫秒了
8。NameVirtualHost directive – 不再需要有 NameVirtualHost  這個項目了
9。Override Configuration – 多了 AllowOverrideList ,原本為 AllowOverride None,現在可以AllowOverrideList XXX XXX
10。Config file variables – 可以先定義變數,之後用 ${XX} 引用它
11。Reduced memory usage – 比 2.2.x版本使用更少的記憶體

多了幾個模組可用

mod_proxy_fcgi
mod_proxy_scgi
mod_proxy_express
mod_remoteip – 替換來源clients的ip ?
mod_heartmonitor, mod_lbmethod_heartbeat – 可以用 HA 嗎 ?
mod_proxy_html
mod_sed
mod_auth_form
mod_session
mod_allowmethods – 更容易設定限制或允許使用 GET 或 POST 等項目
mod_lua
mod_log_debug
mod_buffer
mod_data
mod_ratelimit – 頻寬限制KiB/s
mod_request
mod_reflector
mod_slotmem_shm
mod_xml2enc

模組的改善

mod_ssl
mod_proxy
mod_proxy_balancer
mod_cache
mod_include
mod_cgi, mod_include, mod_isapi, …
mod_authz_core Authorization Logic Containers
mod_rewrite
mod_ldap, mod_authnz_ldap
mod_info

Related posts 相關文章
apache httpd 2.4.58 有些安全性更新
More...
Apache 有 path traversal 目錄遍歷的漏洞
More...
CentOS7 透過 systemd 自動讓服務 restart 重啟
More...
用 GoAccess 即時分析 IIS Access Log
More...

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。