Apache 性能配置優化

PHP愛好者 2017-04-27

Apache 性能配置優化

前言

最近在進行apache性能優化設置。在修改apache配置)文件之前需要備份原有的配置文件夾conf,這是網站架設的好習慣。以下的apache配置調優均是在red had的環境下進行的。

httpd 相關查看命令瞭解

查看當前安裝模塊mpm(多路處理器)
查看httpd進程數(即各個mpm模式下Apache能夠處理的併發請求數)
查看Apache的併發請求數及其TCP連接狀態
查看請求80服務的client ip按照連接數排序。
查看apache詳細鏈接情況
檢測某一臺服務器的端口是否開啟狀態[root@localhost ~]# nc -v -w 10 -z 172.20.206.147 25801
驗證apache2配置是否正確

apache模塊啟用

模塊介紹:Apache 各個模塊功能 基本(B)模塊默認包含,必須明確禁用;擴展(E)/實驗(X)模塊默認不包含,必須明確啟用。
性能調優,模塊啟用/關閉

apache2 擴展配置文件說明

httpd-autoindex.conf 自動索引配置httpd-dav.conf WebDAV配置httpd-default.conf Apache的默認配置httpd-info.conf mod_status, mod_info模塊配置httpd-languages.conf Apache多語言配置支持httpd-manual.conf 在網站上提供Apache手冊httpd-mpm.conf 多路處理模塊配置文件httpd-multilang-errordoc.conf 實現多語言的錯誤信息httpd-ssl.conf SSL配置httpd-userdir.conf 配置用戶目錄httpd-vhosts.conf 虛擬主機配置

性能指標計算方法

提供下面這個公式,以供大家在平時或者日常需要進行的性能測試中作為一個參考。

計算平均的併發用戶數:

C = nL/T

C是平均的併發用戶數;n 是 login session 的數量;L 是 login session 的平均長度;T指考察的時間段長度。

併發用戶數峰值:

C’ ≈ C+3根號C

C’指併發用戶數的峰值,C就是公式(1)中得到的平均的併發用戶數。該公式的得出是假設用戶的 loginsession 產生符合泊松分佈而估算得到的。

apache2自帶的壓力測試工具ab

ab最常用的語法格式是這樣的
比如我們要對http://hostname:port/file.com下載10000次進行測試,併發訪問為60個,啟用HTTP KeepAlive功能,則訪問指令為[root@localhost ~]# ab -n 10000 -c 60 -k http://hostname:port/file.htm

Java的壓力測試工具Jmeter

Jmeter 是apache開發的基於Java的壓力測試工具。

apache多路處理器MPM

目前apache2.4版本已經event MPM納入正式版,不再是實驗狀態。安裝時,apache已經自動將event MPM一起安裝進去,通過apachectl -l可以查看到event.c模塊。由此可以看到,event MPM已經成為apache默認的MPM工作模式。

(1)啟用MPM

計算event的相關參數

(1):計算服務器進程的平均內存

event MPM 與worker MPM區別

可以支持比worker更高的併發數,主要安裝在類unix/linux上的工作模式。event mpm是worker mpm的變種,但是具有比worker MPM更好的併發性能。在event mpm模式下,ssl是不被支持的,他會被切換到worker mpm下處理。event mpm在apache2.4版本時才被從實驗狀態轉化成標準應用。

apache 緩存設置

apache涉及的緩存模塊有mod_cache、mod_disk_cache、mod_file_cache、mod_mem_cache。如果要使用緩存必須啟用這四個緩存模塊。

同時修改緩存設置後,必須重啟apache,刷新緩存,否則用戶訪問頁面不是最新頁面。

mod_cache、mod_disk_cache、mod_mem_cache、mod_file_cache關係- apache緩存分為硬盤緩存和內存緩存- mod_disk_cache mod_mem_cache 都依賴於mod_cache- mod_file_cache是結合mod_cache使用,可以用於指定幾個頻繁訪問,但是變化不大的文件
配置硬盤緩存和內存緩存的緩存配置
文件緩存的應用

apache壓縮配置

apache通過

mod_deflate

模塊實現頁面壓縮,要想進行頁面壓縮必須啟用以下兩個模塊
LoadModule deflate_module modules/mod_deflate.so

頁面壓縮模塊配置

<ifmodule mod_deflate.c>

keepAlive

在HTTP 1.0中和Apache服務器的一次連接只能發出一次HTTP請求,而KeepAlive參數支持HTTP 1.1版本的一次連接,多次傳輸功能,這樣就可以在一次連接中發出多個HTTP請求。從而避免對於同一個客戶端需要打開不同的連接。很多請求通過同一個 TCP連接來發送,可以節約網絡和系統資源。

(1)keepAlive啟用場景
(2)keepAlive配置

問題集錦

1、加載

LoadModule authz_core_module modules/mod_authz_core.so

2、配置信息後面不能跟隨註釋,註釋必須另起一行

CacheDefaultExpire takes one argument, The default time in seconds to cache a document

3、關鍵字錯誤 AddOutputFileByType 應該是

AddOutputFitlerByType

4、啟用

LoadModule setenvif_module modules/mod_setenvif.so

5、ifModule註釋不能跟在配置參數後面,否則會導致配置解析失敗

AH00526: Syntax error on line 558 of /usr/local/cp-httpd-2.4.18/conf/httpd.conf:

相關推薦

推薦中...