日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos7 apache2.4 测试

發布時間:2025/3/18 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos7 apache2.4 测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

物理環境

VPC,64C,8G,SSD

安裝環境

centos7

apache2.4

php5.4

均使用YUM安裝。

默認配置。

創建phpinfo

echo?"<?php?phpinfo();??>"?>>?/var/www/html/index.php

使用ab,phpinfo進行測試

出現socket錯誤繼續進行(-r Don't exit on socket receive errors.)

使用HTTP KeepAlive功能(-k ,避免apr_pollset_poll: The timeout specified has expired (70007)錯誤)


使用ulimit -n增加文件打開數量

ulimit?-n?65535

第一次測試

ab?-r?-n?20000?-c?100?'http://127.0.0.1/index.php'

測試期間,新建一個會話,統計httpd進程數。

ps?-ef|grep?httpd|wc?-l 259

最多的時候是259個進程,基本符合默認配置最多256個httpd進程



查看apache2.4 mpm默認配置

cat?/etc/httpd/conf.modules.d/00-mpm.conf#?Select?the?MPM?module?which?should?be?used?by?uncommenting?exactly #?one?of?the?following?LoadModule?lines: #?prefork?MPM:?Implements?a?non-threaded,?pre-forking?web?server #?See:?http://httpd.apache.org/docs/2.4/mod/prefork.html LoadModule?mpm_prefork_module?modules/mod_mpm_prefork.so #?worker?MPM:?Multi-Processing?Module?implementing?a?hybrid #?multi-threaded?multi-process?web?server #?See:?http://httpd.apache.org/docs/2.4/mod/worker.html # #LoadModule?mpm_worker_module?modules/mod_mpm_worker.so #?event?MPM:?A?variant?of?the?worker?MPM?with?the?goal?of?consuming #?threads?only?for?connections?with?active?processing #?See:?http://httpd.apache.org/docs/2.4/mod/event.html # #LoadModule?mpm_event_module?modules/mod_mpm_event.so

apache2.4 默認使用prefork模式,默認設置這里沒有顯示,需在官網查詢

打開查詢網址

http://httpd.apache.org/docs/2.4/mod/prefork.html

發現prefork模式有以下配置

StartServers(啟動時進程數,默認5) MinSpareServers(最小空閑進程數,默認5) MaxSpareServers(最大空閑進程數,默認10) MaxRequestWorkers(最大進程數,不可大于serverlimit,默認256) MaxConnectionsPerChild(每個進程處理任務數,達到后重啟進程,默認0,不重啟) ServerLimit(程序最大進程數,默認256) ListenBacklog(超過MaxRequestWorkers最大服務請求,將連接進行排隊,默認隊列長度511)

參數調整邏輯,將以下參數

StartServers MinSpareServers MaxSpareServers MaxRequestWorkers ServerLimit

設置成同一數值,避免httpd進程數出現變化,造成性能不穩定。


不重啟進程,節約cpu。生產環境需設置一個較大數值,避免內存泄漏。

MaxConnectionsPerChild?0

將隊列調高,將來不及處理的鏈接都進行排隊

ListenBacklog?10000


ab測試的時候加上-r -k參數,避免出現小錯誤時候停止測試.

-n 代表總測試次數,-c 代表每秒測試次數

ab?-k?-r?-n?1000000?-c?512?'http://127.0.0.1/index.php'

新建會話使用top(這里推薦htop)觀察內存,cpu占用情況,如出現cpu或內存超過80%負荷(在保證最高負荷時的穩定性,一般不推薦超過80%負荷,這是個人經驗,無測試依據)情況,同步降低所有參數。


其實一般情況下默認的參數就夠用的,如果你的設備性能非常好,才需要慢慢調整配置。

測試一次,調整一次,避免負優化。


轉載于:https://blog.51cto.com/titandeng/1793167

總結

以上是生活随笔為你收集整理的centos7 apache2.4 测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。