安全圈 | 专注于最新网络信息安全讯息新闻

首页

5個提高網站效能的理事會

作者 gigliotti 时间 2020-02-23
all

Apache仍然是連接網絡的網站和電腦中最廣泛使用的網站服務器。

此外,Apache繼續在主要網站服務器中增長最大,其次是Nginx和IIS。囙此,如果你是負責Apache系統管理員,你需要知道,如何確保您的Web服務器的最大效能符合您的需求)(

在這篇文章中,我們將討論一些建議,這將有助於你確保Apache工作的連續性,並使您能够處理從遠程客戶預期的請求數量。

然而,請記住,Apache不是設計來安裝測試記錄-但儘管如此,實際上,它仍然可以保證高性能的任何使用,你可以想到的。

1號理事會:總是更新Apache到最新版本

當然,安裝Apache最新版本可能是你需要考慮的第一件事。

然而,可能是最近的改進或更正錯誤,這是添加到最近發佈的穩定版本,然後可以下載和安裝從原始程式碼。這裡還提供了編譯和安裝的指令-請記住,如果你選擇此更新方法,你可以備份你當前的設定檔/網站/虛擬主機作為一個預防措施。

無論如何,你可以檢查到目前為止安裝的版本如下:

建議2:如果您使用2.4以上的覈心,請考慮更新

為什麼呢?在內核2.4及以上系統調用sendfile的版本是默認的。這,反過來,方便高效的網絡檔案傳輸(使用較少的中央處理機同時進行閱讀和發送操作。

你可以通過以下管道查看您安裝的覈心:

# uname -r

並把它與最穩定的核在www.kernel.org。

建議3:選擇一個多處理模塊)MPM,這是最適合你的情况。

實際上,MPM增强了Apache的模組化功能,讓你决定如何配寘Web服務器連接到網絡埠的汽車,接受客戶的請求,並使用副程式)和流動(另一種管道)來處理這些請求。

從版本2.4,Apache提供了三個不同的MPM選擇取決於你的需要:

檢查你的Apache設備使用的MPM,你可以做的:

下麵的影像顯示,這個特定的Web服務器使用prefork MPM。

為了改變這一點,你需要編輯:

在mpm可以是mpm u event,mpm.u

LoadModule mpm_event_module modules/mod_mpm_event.so

說明你可能需要安裝libpache2-mod-fastcgi從付費存儲庫。

此外,為中心,你將需要php-fpm)與fcgi和mod \ u fcgid,而在Debian,它被稱為php5-fpm)與apache 2-mpm-event。

最後但並非最不重要的是:重新啟動Web服務器和最近安裝的php-fpm服務)或php5-fpm:

RedHat Center
Debian/Ubuntu
# systemctl restart apache2 php5-fpm & systemctl enable apache2 php5-fpm

雖然你可以配寘Apache使用一個特定的MPM,這個配寘可以重新定義為每個虛擬主機如前所示。

只需將相應的標籤放置在每個虛擬主機的設定檔中,你準備好了工作,但要確保你只使用一個MPM到虛擬主機。

最後,請注意,無論你選擇的分佈,php-fpm取決於fastcGI的實現,所以我建議安裝更多的套裝軟體之前。更詳細的資訊和例子的php-fpm,以及如何與MPM事件可以提高Apache效能,請參閱官方檔案。

這就是我所看到的,當我改變了MPM的默認情况下,在同一個視窗中的事件,在以前的影像:

例如:

我之所以提出這個問題,是因為我最近遇到了一個問題,當firewalld配寘設定在雲VPS默認不允許php-fpm和Apache處理php-file。

作為一個基礎測試),我相信你可以考慮更複雜或應力,我將創建一個php檔案。檢查是否有另一個檔名為test.php在同一資料夾中的兩個主機名為Cenos 7具有相同的設備和下載效能,但與其他的MPM。其中一個將使用事件,另一個將使用prefork:

這是我在一個檔名為checkifilexists.php保存的php程式碼:

?php $filename = 'test.php'; if (file_exists($filename)) { echo "The file $filename exists"; } else { echo "The file $filename does not exist"; } ?

然後我們運行一個Apache測試工具(AB)從200個同時請求到2000個請求:

# ab -k -c 100 -n 2000 localhost/checkiffileexists.php

讓我們開始測試,比較結果。請注意效能統計:

正如你所看到的,服務器的效能大大超過了它的類比prefork在所有方面的測試。

建議4。為Apache合理分配記憶體

也許需要考慮的最重要的硬體要素是分配給每一個Apache流程的ODS數量。雖然你不能直接控制它,你可以通過maxrequestWorkers限制副程式的數量)(以前被稱為maxclients Apache 2.2)限制使用Apache限制。再次,你可以設定這個值為每個主機或虛擬主機。

為此,你必須注意Apache使用的平均記憶體量,然後乘以maxrequestWorkers,這是記憶體量,為Apache程式選擇。有一件事你永遠不想讓你的Web服務器開始使用swap,因為它會大大降低其效能。囙此,你必須始終保持Apache的記憶體在你可以負擔得起的範圍內,不依賴swap。

例如,下一組將限制同時處理30個客戶。如果有更多的客戶進入主機,他們可能會遇到延遲或短期故障,這是很容易通過更新瀏覽器解决的。雖然這可能被認為是不受歡迎的,這是有用的服務器,並最終,最適合你的網站。

請注意,同樣的原則適用於所有的MPM-我在這裡使用的事件,以繼續以前的理事會提出的概念:

IfModule mpm_event_module StartServers 3 MinSpareThreads 25 MaxSpareThreads 75 ThreadLimit 64 ThreadsPerChild 25 MaxRequestWorkers 30 MaxConnectionsPerChild 1000 /IfModule

在任何情况下,強烈建議聯系Apache 2.4檔案,看看什麼指令是允許你選擇的MPM。

建議5。瞭解你的應用程序

通常不應該加載任何Apache模塊,這是不是你的應用程序的嚴格必要的。這將需要至少對您的服務器上運行的應用程序的一般知識,特別是如果你是一個系統管理員和另一個團隊負責開發。

你可以列出當前加載的挿件:

另一方面,Debian提供了一個工具稱為a2dismod禁用模塊,使用如下:

# a2dismod module_name # a2enmod module_name

無論如何,別忘了重新啟動Apache使更改生效。

謝謝您抽出時間來閱讀這篇文章!

如果有任何問題,請在評論中提出來。

訂閱我們的部落格更新,並保持世界新聞的資訊通信!

為了瞭解更多和更多的資訊和通信技術人群的知識,寫上Cisco課程,網路安全課程,完整的網路安全課程,(DevNet課程)(可程式設計網絡)奧塔卡德米Cisco,Linux專業機构平臺SEDICOMM大學)課程。

思科和Linux的就業課程!

快點申請!有幾個座位。這些小組分別於7月22日和8月19日、9月23日、10月21日、11月25日、12月16日、1月20日和2月24日開始工作。

你會得到什麼?

你的學習如何?

我們還可以幫助你:

在Cisco CCNA Routing&Switching和Linux LPI課程學習,申請或免費諮詢。