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.soapache2.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?10000ab測試的時候加上-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 测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】解决Windows和Ubuntu
- 下一篇: JFrame中使用jpanel来布局