Apache 性能最優化分析(5)_Windows教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
USE_FLOCK_SERIALIZED_ACCEPT
此方法用flock(2)系統調用對一個鎖文件加鎖。(此文件在LockFile命令中指定)
USE_FCNTL_SERIALIZED_ACCEPT
此方法用flock(2)系統調用對一個鎖文件加鎖。(此文件在LockFile命令中指定)
USE_SYSVSEM_SERIALIZED_ACCEPT (1.3版及以后)
此方法借助SysV的信號量(semaphores)實現互斥。但不巧的是SysV信號量有一些負面作用。一是Apache可能在清除信號量之前非正常終止;二是在使用信號量API時需要考慮到任何與服務器UID相同的CGI程序可以進行拒絕服務攻擊(就是說所有的CGI程序都可以這樣做,除非使用suexec或cgiwrapper之類的方法)。所以,這種方法并不被IRIX之外的系統廣泛采納(由于大多數IRIX系統上,使用前兩種方法的代價太大)。
USE_USLOCK_SERIALIZED_ACCEPT
。1.3版及以后)此方法僅在IRIX上可用。它調用usconfig(2)創建互斥量。雖然這種方法避免了對SysV信號量的種種爭議,但它不是IRIX的缺省方案。這是由于在單處理器的IRIX系統 (5.3或6.2)上,uslock代碼比SysV信號量慢兩個數量級;但在多處理器的IRIX中前者比后者快一個數量級。這無非使問題復雜化了。所以在多處理器IRIX系統上,您需要用如下的附加參數編譯Apache:
在EXTRA_CFLAGS中添加-DUSE_USLOCK_SERIALIZED_ACCEPT
USE_PTHREAD_SERIALIZED_ACCEPT
(1.3版及以后)此方法實現了POSIX標準互斥量。它理應可以工作在任何實現了全部POSIX線程規范的系統上,但事實是只有在Solaris 2.5或以上的系統及特定的配置中才能工作。如果您嘗試這種方法的話,需要小心服務器掛起或者沒有響應。服務器在只輸出靜態網頁的情況下運行得很好。
如果您的系統上有其他串行化的方法,為它書寫代碼(并把補丁寄給Apache)是值得的。
有一個考慮到但從未實現的方案是對循環部分地串行化--即允許一定數目的進程進入循環。在同一時刻可運行若干進程的多處理器系統上,這個主意是滿不錯的。而且前面提到的方案并沒有充分利用帶寬?捎捎诟叨炔⑿谢姆⻊掌鲗嵲谏僖,這個方案的優先級比較低。
為了得到最佳性能,不用多偵聽命令是最理想的。請繼續往下看。
此方法用flock(2)系統調用對一個鎖文件加鎖。(此文件在LockFile命令中指定)
USE_FCNTL_SERIALIZED_ACCEPT
此方法用flock(2)系統調用對一個鎖文件加鎖。(此文件在LockFile命令中指定)
USE_SYSVSEM_SERIALIZED_ACCEPT (1.3版及以后)
此方法借助SysV的信號量(semaphores)實現互斥。但不巧的是SysV信號量有一些負面作用。一是Apache可能在清除信號量之前非正常終止;二是在使用信號量API時需要考慮到任何與服務器UID相同的CGI程序可以進行拒絕服務攻擊(就是說所有的CGI程序都可以這樣做,除非使用suexec或cgiwrapper之類的方法)。所以,這種方法并不被IRIX之外的系統廣泛采納(由于大多數IRIX系統上,使用前兩種方法的代價太大)。
USE_USLOCK_SERIALIZED_ACCEPT
。1.3版及以后)此方法僅在IRIX上可用。它調用usconfig(2)創建互斥量。雖然這種方法避免了對SysV信號量的種種爭議,但它不是IRIX的缺省方案。這是由于在單處理器的IRIX系統 (5.3或6.2)上,uslock代碼比SysV信號量慢兩個數量級;但在多處理器的IRIX中前者比后者快一個數量級。這無非使問題復雜化了。所以在多處理器IRIX系統上,您需要用如下的附加參數編譯Apache:
在EXTRA_CFLAGS中添加-DUSE_USLOCK_SERIALIZED_ACCEPT
USE_PTHREAD_SERIALIZED_ACCEPT
(1.3版及以后)此方法實現了POSIX標準互斥量。它理應可以工作在任何實現了全部POSIX線程規范的系統上,但事實是只有在Solaris 2.5或以上的系統及特定的配置中才能工作。如果您嘗試這種方法的話,需要小心服務器掛起或者沒有響應。服務器在只輸出靜態網頁的情況下運行得很好。
如果您的系統上有其他串行化的方法,為它書寫代碼(并把補丁寄給Apache)是值得的。
有一個考慮到但從未實現的方案是對循環部分地串行化--即允許一定數目的進程進入循環。在同一時刻可運行若干進程的多處理器系統上,這個主意是滿不錯的。而且前面提到的方案并沒有充分利用帶寬?捎捎诟叨炔⑿谢姆⻊掌鲗嵲谏僖,這個方案的優先級比較低。
為了得到最佳性能,不用多偵聽命令是最理想的。請繼續往下看。
相關Windows教程:
- 相關鏈接:
- 教程說明:
Windows教程-Apache 性能最優化分析(5)
。