亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

Apache查看連接數和限制當前連接數

2024-08-27 18:28:31
字體:
來源:轉載
供稿:網友

起因:線上的一臺服務器,最近總是出現訪問 很慢的情況發生,點擊一個鏈接要2秒鐘以上才能打開,按照我們對于訪問人數的估計,服務器應該不至于響應這么慢,從而需要針對這個問題進行分析,來解決網站訪問過慢。

分析:
1、首先,在頁面訪問變慢情況發生時,使用 top 命令查看了服務器的負載情況,發現負載并不高,初步估計不是程序的問題。
2、然后,查看了線程中的 httpd 的數量, ps -aux | grep httpd | wc -l 發現,線程數已經達到了 apache 設置的最大值。由此斷定是網站訪問人數過多造成了訪問過慢。
3、為了驗證,查看了連接數和當前的連接數,分別是:
netstat -ant | grep $ip:80 | wc -l
netstat -ant | grep $ip:80 | grep EST | wc -l
發現果然,連接數特別多,遠遠超過我們的估計值。

4、剛開始的時候,對于服務器的 MPM 配置方式不是特別的熟悉,認為修改服務器配置可以解決問題。主要的配置部分包括 prefork 模式 或者 work 模式的配置,下面是一些簡單的介紹。

prefork 模式:
以 prefork 模式工作的 apache 的默認配置:

<IfModule mpm_prefork_module>
ServerLimit 2000
StartServers 5 #指定服務器啟動時建立的子進程數量
MinSpareServers 5 #指定空閑子進程的最小數量
MaxSpareServers 10 #指定空閑子進程的最大數量
MaxClients 150 #指定同一時間客戶端最大接入請求的數量(單個進程并發線程數),任何超過該限制的請求都將進入等候隊列,一旦一個連接被釋放,隊列中的請求將得到服務
MaxRequestsPerChild 0 #指定每個子進程在其生存周期內允許伺服的最大請求數量,默認為10000,0表示子進程永遠不結束
</IfModule>

prefork 控制進程在最初建立“StartServers”個子進程后,為了滿足 MinSpareServers 設置的需要創建一個進程,等待一秒鐘,繼續創建兩個,再等待一秒鐘,繼續創建四個……如此按指數級增加創建的進程數,最多達到每秒32個,直到滿足MinSpareServers設置的值為止。這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷以增加性能。

MaxSpareServers 設置了最大的空閑進程數,如果空閑進程數大于這個值,Apache會自動kill掉一些多余進程。這個值不要設得過大,但如果設的值比 MinSpareServers小,Apache會自動把其調整為 MinSpareServers+1。如果站點負載較大,可考慮同時加大MinSpareServers和MaxSpareServers。

MaxClients是這些指令中最為重要的一個,設定的是 Apache可以同時處理的請求,是對Apache性能影響最大的參數。其缺省值150是遠遠不夠的,如果請求總數已達到這個值(可通過ps -ef|grep httpd|wc -l來確認),那么后面的請求就要排隊,直到某個已處理請求完畢。這就是系統資源還剩下很多而HTTP訪問卻很慢的主要原因。雖然理論上這個值越大,可以處理的請求就越多,但Apache默認的限制不能大于256。在 apache2 中通過ServerLimit指令無須重編譯Apache就可以加大MaxClients。

雖然通過設置ServerLimit,我們可以把MaxClients加得很大,但是往往會適得其反,系統耗光所有內存。以一臺服務器為例:內存2G,每個apache進程消耗大約0.5%(可通過ps aux來確認)的內存,也就是10M,這樣,理論上這臺服務器最多跑200個apache進程就會耗光系統所有內存,所以,設置MaxClients要慎重。

worker 模式
以 worker 模式工作的 apache 的默認配置為:
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

Worker 由主控制進程生成“StartServers”個子進程,每個子進程中包含固定的ThreadsPerChild線程數,各個線程獨立地處理請求。同樣,為了不在請求到來時再生成線程, MinSpareThreads和MaxSpareThreads設置了最少和最多的空閑線程數;而MaxClients 設置了同時連入的clients最大總數。如果現有子進程中的線程總數不能滿足負載,控制進程將派生新的子進程。

MinSpareThreads和 MaxSpareThreads的最大缺省值分別是75和250。這兩個參數對Apache的性能影響并不大,可以按照實際情況相應調節。

ThreadsPerChild是worker MPM中與性能相關最密切的指令。

ThreadsPerChild的最大缺省值是64,如果負載較大,64也是不夠的。這時要顯式使用 ThreadLimit指令,它的最大缺省值是20000。

Worker模式下所能同時處理的請求總數是由子進程總數乘以ThreadsPerChild 值決定的,應該大于等于MaxClients。如果負載很大,現有的子進程數不能滿足時,控制進程會派生新的子進程。默認最大的子進程總數是16,加大時也需要顯式聲明ServerLimit(最大值是20000)。需要注意的是,如果顯式聲明了ServerLimit,那么它乘以 ThreadsPerChild的值必須大于等于MaxClients,而且MaxClients必須是ThreadsPerChild的整數倍,否則 Apache將會自動調節到一個相應值。

服務器的apache采用的是 prefork 的工作模式,對 MaxClients 進行了相應的調整,發現服務啟動后很短時間,連接數就能夠達到最大。

5、后來想到需要查看用戶都是訪問的那些頁面,將配置中的 access_log 打開,發現85%以上的訪問都是直接訪問的資源文件,由此判定,用戶可能使用了多線程的下載工具,或者這些資源遭受了盜鏈。
6、找到了問題所在,進行解決也就比較好辦了。想到了兩個方法:

A、對單個IP進行連接的線程限制,不允許多線程連接資源。
對于IP限制,我采用了 mod_limitipconn 這個模塊。這個模塊的好處是比較簡單,缺點是不能夠針對單獨的文件夾或者文件進行設置,而且不支持虛擬主機。

在 apache 中安裝了這個模塊后,在配置文件中添加如下幾段就可以生效了:

ExtendedStatus On
< IfModule mod_limitipconn.c >
< Location / > # 所有虛擬主機的/目錄
MaxConnPerIP 3 # 每IP只允許3個并發連接
NoIPLimit image/* # 對圖片不做IP限制
< /Location >
< Location /mp3 > # 所有主機的/mp3目錄
MaxConnPerIP 1 # 每IP只允許一個連接請求
OnlyIPLimit audio/mpeg video # 該限制只對視頻和音頻格式的文件
< /Location >
< /IfModule >

B、添加URL重寫,防止盜鏈。
防止盜鏈,一個重要的方法就是判斷請求的 refer,但是如果使用一些瀏覽器發出請求的時候將 refer 去掉,或者偽裝,這個辦法就無能為力了。但是貌似還有更高級的方法,還是可以實現這個功能。
安裝apache的 mod_rewrite 模塊后,在apache配置文件中添加:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://linuxidc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://linuxidc.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.linuxidc.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.linuxidc.com$ [NC]
RewriteRule .*/.(gif|jpg|swf)$ http://www.linuxidc.com/about/nolink.png [R,NC]

這樣盜鏈的請求會被重定向到一個錯誤頁面,從而減少下載帶給服務器的壓力。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人精品xxx| 亚洲第一网中文字幕| 亚洲精品丝袜日韩| 国产成人福利视频| 成人国产精品一区二区| 秋霞成人午夜鲁丝一区二区三区| 中文字幕国产日韩| 亚洲午夜精品视频| 亚洲色无码播放| 亚洲欧美国产精品久久久久久久| 日本韩国欧美精品大片卡二| 国产精品免费小视频| 久久影视电视剧免费网站| 欧美亚洲日本黄色| 91香蕉亚洲精品| 成人网在线免费看| 2024亚洲男人天堂| 亚洲电影免费观看高清完整版在线| 亚洲美女www午夜| 97香蕉超级碰碰久久免费的优势| 久久在线免费视频| 久久99久久99精品免观看粉嫩| 日韩一区av在线| 国产女同一区二区| 日韩欧美国产一区二区| 久久人人爽人人爽爽久久| 日韩小视频网址| 91在线播放国产| 综合av色偷偷网| 日本亚洲欧洲色α| 亚洲国产高潮在线观看| 激情懂色av一区av二区av| 国产一区私人高清影院| 在线亚洲午夜片av大片| 亚洲第一男人av| 91亚洲国产成人精品性色| 中文字幕亚洲无线码在线一区| 欧美日韩国产999| 2020欧美日韩在线视频| 国产精品久久久一区| 在线国产精品播放| 国产欧美久久一区二区| 日韩电影中文字幕一区| 欧美激情网站在线观看| 国产精品久久久91| 91在线视频导航| 日韩在线视频网站| 高清一区二区三区日本久| 岛国视频午夜一区免费在线观看| 久久久噜久噜久久综合| 亚洲天堂免费在线| 亚洲图片在线综合| 国产精品美女www爽爽爽视频| 欧美xxxx综合视频| 韩剧1988在线观看免费完整版| 国产精品成人观看视频国产奇米| 91av成人在线| 亚洲国产精久久久久久| 欧美性猛交xxxx免费看久久久| 日韩精品一区二区三区第95| 国产午夜精品一区理论片飘花| 日韩精品一区二区三区第95| 日本韩国在线不卡| 亚洲国产成人精品久久久国产成人一区| 国产精品旅馆在线| 国产精品入口免费视频一| 国产aⅴ夜夜欢一区二区三区| 欧美成人午夜激情视频| 在线观看亚洲视频| 欧美日韩国产精品一区二区三区四区| 国产精品久久久久久中文字| 国产精欧美一区二区三区| 国产精品视频专区| 国产精品自拍偷拍视频| 亚洲综合成人婷婷小说| 亚洲精品国产精品乱码不99按摩| 粉嫩老牛aⅴ一区二区三区| 欧美激情日韩图片| 欧美有码在线观看| 亚洲第一天堂无码专区| 国产欧美精品va在线观看| 中文字幕一精品亚洲无线一区| 国产精品日韩在线一区| 亚洲性视频网址| 国产成人在线播放| 秋霞av国产精品一区| 2020久久国产精品| 亚洲欧洲免费视频| 欧美成人精品影院| 国产成人精品视频在线观看| 亚洲免费人成在线视频观看| 欧美成人精品xxx| 中文字幕欧美视频在线| 国产成人激情小视频| 午夜精品福利在线观看| 亚洲品质视频自拍网| 久久天堂电影网| 亚洲欧美在线磁力| 国产精品视频不卡| 日产精品99久久久久久| 日韩欧美视频一区二区三区| 亚洲二区中文字幕| 91精品久久久久久久久久| 国产精品久久久精品| 亚洲精品xxx| 精品女同一区二区三区在线播放| 一本一本久久a久久精品综合小说| 亚洲国产成人精品一区二区| 欧美电影《睫毛膏》| 欧美另类交人妖| 欧美日韩中国免费专区在线看| 最近2019中文字幕在线高清| 久久99精品国产99久久6尤物| 亚洲电影第1页| 久久久精品视频在线观看| 91干在线观看| 久久久成人精品视频| 国产香蕉精品视频一区二区三区| 欧美日韩亚洲成人| 国外成人性视频| 亚洲欧美视频在线| 国产综合色香蕉精品| 国产噜噜噜噜久久久久久久久| 欧美电影在线观看网站| 欧美精品久久久久久久免费观看| 国产91免费看片| 亚洲专区在线视频| 毛片精品免费在线观看| 久久中文字幕视频| 久久资源免费视频| 成人女保姆的销魂服务| 日韩在线视频免费观看| 欧美与欧洲交xxxx免费观看| 欧美高清性猛交| 久久久久久久国产精品| 国产网站欧美日韩免费精品在线观看| 欧美裸体xxxx极品少妇| 国产精品久久久久久久久久99| 精品国产一区二区三区久久| 亚洲91av视频| 亚洲午夜未满十八勿入免费观看全集| 国产亚洲欧洲黄色| 国产精品一区二区三区在线播放| 亚洲国产婷婷香蕉久久久久久| 国产视频观看一区| 久久人人爽人人爽人人片av高请| 欧美日韩亚洲视频| 久久久久久久999精品视频| 插插插亚洲综合网| 久久九九热免费视频| 久久国产精品久久精品| 日韩av三级在线观看| 国产午夜精品理论片a级探花| 欧美日韩亚洲91| 日韩高清电影好看的电视剧电影| 亚洲xxx大片| 久久综合色88| 精品国产91乱高清在线观看| 日本久久亚洲电影| 国产精品久久综合av爱欲tv| 亚洲视频999| 日韩在线视频二区| 国产日产欧美a一级在线| 亚洲a在线观看|