亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: apache+php 與 nginx+php,哪個(gè)好?看我的經(jīng)歷! [打印本頁]

作者: chlinux    時(shí)間: 2012-03-08 18:46
標(biāo)題: apache+php 與 nginx+php,哪個(gè)好?看我的經(jīng)歷!
本帖最后由 chlinux 于 2012-03-08 18:46 編輯

這臺(tái)服務(wù)器每天跑300萬的pv,環(huán)境是apache+php,基本都是動(dòng)態(tài)頁面很少的圖片



這臺(tái)服務(wù)器每天跑1000萬的pv,注意一點(diǎn),這臺(tái)服務(wù)器程序和下面那臺(tái)nginx的程序完全一致。



最后這臺(tái)每天跑300萬的PV,環(huán)境是nginx+php


經(jīng)過上面幾張截圖應(yīng)該有個(gè)結(jié)論了吧?
之前我一直聽說nginx+php比apache+php快多少多少倍之說,大家可能也看到個(gè)那個(gè)博文,但在我這兒測(cè)試怎么就相反了呢?難道網(wǎng)上提到的測(cè)試,只包括靜態(tài)頁面的測(cè)試?

我有些疑問,所以發(fā)上來大家討論。
作者: chlinux    時(shí)間: 2012-03-08 23:23
本帖最后由 chlinux 于 2012-03-11 11:07 編輯

光看帖不回帖?帖寫的比較匆忙,本以為會(huì)有人響應(yīng)的,沒想這里現(xiàn)在這么冷清啊。

apache2.0--apache2.2單位進(jìn)程占用的內(nèi)存確實(shí)比nginx+php高,似乎網(wǎng)上的博文只比較同等內(nèi)存如何如何,如果內(nèi)存足夠大,但cpu、硬盤能力有限時(shí),結(jié)果又怎么樣呢?現(xiàn)在內(nèi)存很便宜,我們可以直接上它幾十個(gè)G。

一個(gè)好消息,apache2.4已經(jīng)出來了,官方說性能如何如何的提高了,改善了內(nèi)存等方面的問題,只裝了環(huán)境,還沒有實(shí)戰(zhàn)測(cè)試php5.3還是和php5.2有些差別的,程序不兼容,還沒時(shí)間改,據(jù)說php5.3不是從php5.2來的,是從php5.0進(jìn)化來的,還沒細(xì)研究。

“程序不兼容”,這個(gè)問題搞清楚了,不是環(huán)境的問題,但也是環(huán)境的問題,根源是程序的問題,只是php5.2沒有把有問題的程序檢測(cè)出來,照樣給按正確的語法給運(yùn)行了,但php5.3比較嚴(yán)格,給報(bào)出錯(cuò)誤了,
錯(cuò)誤的代碼:
public static public static function functionname(){}

還有date的使用問題,5.3也給出警告了。要設(shè)置 date_default_timezone_set('Asia/Shanghai'); 或者配置文件中配置。







作者: yugangyi    時(shí)間: 2012-03-09 15:02
top看不出什么問題
建議你用壓力測(cè)試測(cè)試一下
作者: chlinux    時(shí)間: 2012-03-09 16:58
嚴(yán)重不同意你的觀點(diǎn),為什么我的問題都是從top參數(shù)發(fā)現(xiàn)的呢?
作者: chlinux    時(shí)間: 2012-03-10 09:39
回復(fù) 3# yugangyi


    壓力測(cè)試,是很片面的測(cè)試,很難找到真正能模擬并發(fā)的軟件,另外,測(cè)試也不夠全面,有bug的程序不一定能測(cè)試到,可能只有在特定的條件下才會(huì)出現(xiàn)的bug,這些是壓力測(cè)試無法測(cè)試到的,top,是個(gè)不錯(cuò)的工具,很直觀的檢測(cè)到你的程序質(zhì)量,運(yùn)行狀態(tài),不光是運(yùn)行環(huán)境質(zhì)量。
作者: maochanglu    時(shí)間: 2012-03-10 19:09
內(nèi)存小用nginx。

如果內(nèi)存大,就無所謂了。
作者: send_linux    時(shí)間: 2012-03-10 22:32
chlinux 發(fā)表于 2012-03-08 18:46
這臺(tái)服務(wù)器每天跑300萬的pv,環(huán)境是apache+php,基本都是動(dòng)態(tài)頁面很少的圖片


謝謝分享啊,呵呵
作者: chlinux    時(shí)間: 2012-03-11 10:59
本帖最后由 chlinux 于 2012-03-11 11:02 編輯

回復(fù) 6# maochanglu


    這個(gè)說法我也不太同意啊,呵呵,經(jīng)過幾天的比較,現(xiàn)在看這樣的組合更好些。

配置nginx+apache 其中動(dòng)態(tài)由apache處理,靜態(tài)由nginx處理

現(xiàn)在看,apache+php處理動(dòng)態(tài)頁面要比nginx+php要強(qiáng),這樣的結(jié)論和我之前帖出的實(shí)際運(yùn)行結(jié)果相一致。

我打算安裝一下apache2.4.1+php5.3.10來測(cè)試一下,據(jù)說是優(yōu)化了內(nèi)存使用的問題,具體如何還要測(cè)試后才知道。
作者: hq22    時(shí)間: 2012-03-11 19:35
頂!一直用慣了apache+mysql+php,希望apache給力!
作者: yugangyi    時(shí)間: 2012-03-11 21:20
回復(fù) 5# chlinux


    怎么會(huì)沒有模擬并發(fā)的軟件呢?你應(yīng)該找找專業(yè)的測(cè)試人員或者運(yùn)維人員,另外模擬軟件沒有,可以寫并發(fā)測(cè)試程序,你可能只是一個(gè)php程序員吧,找個(gè)有服務(wù)器并發(fā)應(yīng)用開發(fā)經(jīng)驗(yàn)的程序員,跟你好好講解一番。一天幾百萬pv,估計(jì)并發(fā)連接數(shù)不到一千,高峰期可能也就幾千的并發(fā),滿足這點(diǎn)并發(fā)量的軟件還是不少的。
作者: yugangyi    時(shí)間: 2012-03-11 21:25
回復(fù) 8# chlinux


    nginx只提供web服務(wù),如果你搭建nginx+php的環(huán)境,php這邊是通過fastcgi傳遞給專門的php處理進(jìn)程,php處理進(jìn)程數(shù)以及服務(wù)配置參數(shù),會(huì)對(duì)你的測(cè)試結(jié)果產(chǎn)生比較大的影響。如果你用apache來做為php處理進(jìn)程,讓nginx充當(dāng)反向代理也可以,本質(zhì)上跟前一種方式區(qū)別不大。
nginx的優(yōu)勢(shì)是在處理靜態(tài)內(nèi)容方面。
作者: chlinux    時(shí)間: 2012-03-11 22:11
本帖最后由 chlinux 于 2012-03-11 22:17 編輯

回復(fù) 10# yugangyi


    模擬并發(fā)的軟件用過不少,但真還沒找到真正能模擬實(shí)況的并發(fā)。
當(dāng)年被微軟開發(fā)的一款壓力測(cè)試軟件測(cè)試過,并發(fā)量并不大,每秒200-500,這個(gè)壓力真不是一般單機(jī)動(dòng)態(tài)連接數(shù)據(jù)庫能承受的。
但用一般的模擬并發(fā)的軟件每秒請(qǐng)求1000個(gè)是沒問題的。

“并發(fā)”,不是那么好模擬的!
作者: chlinux    時(shí)間: 2012-03-11 22:13
回復(fù) 11# yugangyi


    嗯,有道理!
作者: wlforyou1    時(shí)間: 2012-03-17 09:57
那可以弄個(gè)apache+nginx+php這樣呀。嘻嘻。
作者: fengyun530    時(shí)間: 2012-03-19 22:02
同意11#的觀點(diǎn)。各有優(yōu)勢(shì)。如果是我,我會(huì)選擇nginx來做前端反向代理(web緩存服務(wù))和負(fù)載均衡,這方面我想nginx比apache(雖然它也支持負(fù)載,不過應(yīng)該沒什么人用吧)應(yīng)該是更強(qiáng)的。后端服務(wù)平臺(tái)依然選擇apache+php。各盡其職。雖然不是最好的結(jié)構(gòu)!但是一定是更好的架構(gòu)
作者: shenbo7    時(shí)間: 2012-03-21 08:42
.....apache+php+mysql...........用squid做反向代理的..........
作者: 346196247    時(shí)間: 2012-04-02 11:19
回復(fù) 1# chlinux


    求高手指導(dǎo),
作者: lastfile    時(shí)間: 2012-04-02 14:11
現(xiàn)在內(nèi)存確實(shí)便宜啊
作者: lsstarboy    時(shí)間: 2012-04-02 22:31
幾點(diǎn)疑問:
1、樓主是怎么從top中看出網(wǎng)站的速度的?

2、load的計(jì)算方式是什么?以進(jìn)程計(jì)還是以CPU的忙碌程序計(jì)?

3、第二張圖的mysql是什么狀態(tài)?

4、可以用ab進(jìn)行簡單測(cè)試嗎?

我用的結(jié)果跟樓主相反,感覺fcgi要快一些,另外你的fcgi進(jìn)程占內(nèi)存很小啊,我稍加幾個(gè)模塊就超過10M了,加點(diǎn)緩存的話就會(huì)幾十兆,而你的httpd進(jìn)程都不小。
我認(rèn)為是樓主的fcgi沒有優(yōu)化好。
作者: chlinux    時(shí)間: 2012-04-04 15:06
回復(fù) 19# lsstarboy


    網(wǎng)站的反應(yīng)速度不是看出來的,是測(cè)試出來的。top只看到資源占用情況。
   第二張圖mysql沒有啟動(dòng),第三張圖的mysql是主數(shù)據(jù)庫,只更新,壓力比較小。
   
沒有用ab測(cè)試
fcgi確實(shí)不熟悉,只做了簡單的配置

作者: liuxingyuyuni    時(shí)間: 2012-04-04 20:53
壓力測(cè)試給個(gè)值看看
作者: lsstarboy    時(shí)間: 2012-04-04 22:57
回復(fù) 20# chlinux


我覺得你這個(gè)環(huán)境的干擾數(shù)據(jù)有點(diǎn)多,影響網(wǎng)站響應(yīng)速度的因素很多,比如mysql配置,php模塊的配置等等,不在一個(gè)起跑線上,結(jié)果肯定不一樣。

我建議把my.cnf和php的模塊配置得一模一樣,然后再去調(diào)整nginx的work數(shù)和fcgi的進(jìn)程數(shù),每種模式都試試,這樣得出來的結(jié)論才準(zhǔn)確。

另外樓主的機(jī)器是單核?單核fcgi要吃虧一些。



作者: chlinux    時(shí)間: 2012-04-05 09:07
本帖最后由 chlinux 于 2012-04-05 09:24 編輯

回復(fù) 22# lsstarboy


    服務(wù)器的配置都是一樣的,每個(gè)cpu 都是四核的,且都是雙cpu的,連接的數(shù)據(jù)庫都是同一個(gè)獨(dú)立的數(shù)據(jù)庫服務(wù)器,php.ini是一樣的,nginx的work數(shù)和fcgi的進(jìn)程數(shù)值都比較高。

也就是說,外圍環(huán)境都是一樣的,除了php的運(yùn)行環(huán)境。
作者: chlinux    時(shí)間: 2012-04-05 09:14
本帖最后由 chlinux 于 2012-04-05 09:28 編輯

回復(fù) 22# lsstarboy

nginx配置
  1.     worker_rlimit_nofile 51200;

  2. events
  3. {
  4.   use epoll;
  5.   worker_connections 51200;
  6. }

  7. http
  8. {
  9.   include       mime.types;
  10.   default_type  application/octet-stream;

  11.   #charset  gb2312;

  12.   server_names_hash_bucket_size 128;
  13.   client_header_buffer_size 32k;
  14.   large_client_header_buffers 4 32k;
  15.   client_max_body_size 8m;
  16.   client_body_buffer_size 256k;

  17.   sendfile       on;
  18.   tcp_nopush     on;
  19.   server_tokens  off;
  20.   tcp_nodelay    on;
  21.   keepalive_timeout 90;

復(fù)制代碼
php-fmp一些配置
  1.   <value name="pm">
  2. <value name="style">static</value>
  3.   <value name="max_children">128</value>
  4.   <value name="apache_like">
  5.     <value name="StartServers">20</value>
  6.     <value name="MinSpareServers">5</value>
  7.     <value name="MaxSpareServers">35</value>
  8.   </value>
  9. </value>
  10. <value name="request_terminate_timeout">30s</value>
  11. <value name="request_slowlog_timeout">10s</value>
  12. <value name="slowlog">/www/weblog/slow.log</value>
  13. <value name="rlimit_files">51200</value>
  14. <value name="rlimit_core">0</value>

  15. <value name="max_requests">10240</value>

復(fù)制代碼
apache的一些配置

  1. <IfModule prefork.c>
  2. ServerLimit         1800
  3. StartServers         5
  4. MinSpareServers      5
  5. MaxSpareServers     10
  6. MaxClients          1500
  7. MaxRequestsPerChild  5000
  8. </IfModule>
復(fù)制代碼

作者: chlinux    時(shí)間: 2012-04-05 09:36
本帖最后由 chlinux 于 2012-04-05 09:39 編輯

回復(fù) 21# liuxingyuyuni
生產(chǎn)環(huán)境不能做壓力測(cè)試了
作者: lsstarboy    時(shí)間: 2012-04-05 13:56
回復(fù) 25# chlinux


    給兩個(gè)建議:

1、沒做壓力測(cè)試就投入到生產(chǎn)中去,非常危險(xiǎn)。

2、無論是apache還是nginx,或者是fcgi,并不是進(jìn)程數(shù)/線程數(shù)越多越有效,多到一定程序越多性能越低!

作者: catcce    時(shí)間: 2012-04-05 16:02
一直用 apache ,穩(wěn)定些。。。
作者: owenliang1990    時(shí)間: 2012-04-06 13:39
這個(gè)東西都是有固定結(jié)論的,lighttpd提供靜態(tài)頁面快,apache都是作為后端服務(wù)器提供服務(wù)的,nginx一般做反向代理做頁面級(jí)別緩存,細(xì)節(jié)就太多了,keep-alive開的越久肯定吞吐率越高,只不過并發(fā)數(shù)會(huì)下降,不知道樓主為什么要看TOP,和費(fèi)解... 網(wǎng)站看的是服務(wù)質(zhì)量, 肯定要用apache ab壓一下或者監(jiān)控看運(yùn)行狀態(tài), 關(guān)注吞吐率和請(qǐng)求處理時(shí)間, 另外php加速,fcgi都會(huì)有性能提升,php本身寫的好不好又是一碼事,數(shù)據(jù)是否走memcache集群,數(shù)據(jù)庫是否合理的分區(qū)分表,是否讀寫分離,優(yōu)化余地很大,這些還都是配置層面的東西,架構(gòu)層面還需要考慮站點(diǎn)內(nèi)容,圖片服務(wù)的話對(duì)帶寬占用很大,是否是1000M網(wǎng)卡,反向代理機(jī)器擺了多少,反向代理到后端服務(wù)器是否走了LVS-DR,后端服務(wù)器是否接入1000M交換機(jī),是否擁有獨(dú)立帶寬,是否部署CDN.
作者: chlinux    時(shí)間: 2012-04-06 14:34
回復(fù) 28# owenliang1990


    嗯,看top,主要是因?yàn)閮膳_(tái)服務(wù)器跑的程序及外圍環(huán)境都是完全一樣的,所以才有比較性可言。兩臺(tái)服務(wù)器程序一樣的,共用一個(gè)數(shù)據(jù)庫,共用了一個(gè)redis服務(wù)器,只是php運(yùn)行環(huán)境不一樣。top看,差異比較大,所以就帖出來了。
作者: yifangyou    時(shí)間: 2012-04-08 00:47
nginx是事件驅(qū)動(dòng),應(yīng)該比apache要好很多,apache2.4也學(xué)nginx改為事件驅(qū)動(dòng)了,但是若是動(dòng)態(tài)程序的話,大部分的時(shí)間估計(jì)在php程序方面,無論是apache還是nginx應(yīng)該幫助不是很大。
作者: lsstarboy    時(shí)間: 2012-04-08 16:02
回復(fù) 28# owenliang1990


    專業(yè)人員的專業(yè)解釋,認(rèn)真學(xué)習(xí)一下。
作者: chlinux    時(shí)間: 2012-04-10 11:22
回復(fù) 30# yifangyou


    嗯,有道理的,環(huán)境在調(diào)優(yōu)后的影響不至于太大,主要還是要在程序上下功夫的,盡量讓一次訪問盡快完成。
作者: yezj2004    時(shí)間: 2012-09-22 10:50
謝謝!樓主提供!好樣的
作者: selfimpr    時(shí)間: 2012-09-22 23:09
4核機(jī)器, loadaverage在6以內(nèi)應(yīng)該就算合理吧...

那么你的兩個(gè)結(jié)果都在合理范圍內(nèi).

既然服務(wù)端負(fù)載在合理范圍, 那么自然要考量服務(wù)質(zhì)量, 此時(shí)就應(yīng)該去看看哪種方式的響應(yīng)更高效了啊...
作者: flfq    時(shí)間: 2013-04-10 21:08
本帖最后由 flfq 于 2013-04-10 21:10 編輯
lsstarboy 發(fā)表于 2012-04-05 13:56
回復(fù) 25# chlinux


YES
我建議樓主用壓力測(cè)試軟件找到最佳配置,比現(xiàn)在空說比較好,有很多值并不是越大越好

反正我用壓力軟件模擬測(cè)試 (1024并發(fā),120秒), 500W條MYSQL數(shù)據(jù),數(shù)據(jù)庫在700M左右,php程序隨機(jī)進(jìn)行20條數(shù)據(jù)值讀出,10條隨機(jī)數(shù)據(jù)值寫入的條件下,本人小破服務(wù)器完全能勝任,而瓶頸是在網(wǎng)卡上,100Mbps用滿

可能樓主哪里優(yōu)化的不夠好,NGINX+PHP-FPM+MYSQL,要配置,調(diào)優(yōu)的地方比較多
作者: flfq    時(shí)間: 2013-04-10 21:26
個(gè)人猜測(cè),最后一臺(tái)機(jī)問題可能在與MYSQL的連接上
作者: fender0107401    時(shí)間: 2013-04-11 10:04
nginx的動(dòng)態(tài)貌似就是不成熟。
作者: hbeimf    時(shí)間: 2013-04-16 17:53

作者: 阿新3389    時(shí)間: 2013-04-17 23:09
我大概知道原因在哪里,純動(dòng)態(tài)頁面,php mod模式要比fcgi模式效率高。

同樣配置的服務(wù)器,都是apache,php mod模式運(yùn)行效率就是高,這個(gè)不是nginx的問題!所以一些大型網(wǎng)站的架構(gòu),后端還是會(huì)用apache+mod_php
作者: squarezhou    時(shí)間: 2013-04-22 20:51
可以從幾個(gè)方面來比較吧
1,內(nèi)存占用,nginx勝
2,I/O多還是CPU運(yùn)算多,Nginx的事件模型比較適合高并發(fā)的I/O
3,靜態(tài)內(nèi)容還是動(dòng)態(tài)內(nèi)容(這個(gè)感覺跟第2條差不多),一般都說Nginx在處理靜態(tài)內(nèi)容上有較大優(yōu)勢(shì)
作者: seoyou    時(shí)間: 2013-06-04 18:32
top是瞬間的。不代表整體效果
作者: urey_pp    時(shí)間: 2013-08-01 08:37
Nginx+Apache是不錯(cuò)的架構(gòu)!Nginx對(duì)動(dòng)態(tài)頁面支持不佳由Apache來克服,Apache處理靜態(tài)頁面不佳用Nginx來處理!
作者: wwek    時(shí)間: 2013-09-01 19:53
樓主提供更多的數(shù)據(jù)吧。
fast cgi 這里和webserver沒關(guān)系吧。
nginx的性能不用懷疑。
至于php跑那種模式更好?
fast cgi是我的選擇
作者: wwek    時(shí)間: 2013-09-01 19:56
本帖最后由 wwek 于 2013-09-01 19:57 編輯

沒注意到是老帖子。~~~~

php5.3 5.4 fast cgi 性能應(yīng)該是更高的
作者: chlinux    時(shí)間: 2013-09-04 16:28
回復(fù) 45# wwek


   
實(shí)踐告訴我,nginx+fast-cgi不如apache+php
作者: wjzhhr    時(shí)間: 2014-09-11 10:42
chlinux 發(fā)表于 2013-09-04 16:28
回復(fù) 45# wwek


PHP環(huán)境必須要一致呀,統(tǒng)一為PHP5.4.X或者PHP5.3.29.

不然測(cè)試是不對(duì)等的。PHP的每個(gè)版本都會(huì)比低版本性能高些的。
作者: witer666    時(shí)間: 2014-10-10 22:51
樓主你貼那幾張圖說明不了什么,你要說明原因最好貼apache和nginx的配置文件上來最好!你不會(huì)配,性能當(dāng)然上不去了
作者: 阿新3389    時(shí)間: 2014-12-07 21:18
從處理過程來看

fpm模式 要多走一層TCP,效率和穩(wěn)定性肯定不如 php module
作者: 346196247    時(shí)間: 2015-01-15 09:51
哦哦改名
apacheginx




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2