某nginx+php fcgi服务器优化记录

上一篇 / 下一篇  2008-05-23 00:11:31 / 个人分类:LAMP

服务器梳理及优化记录
"G#Z$b4c9Q.mTt0
x p6e#p0lH2|v0木铎校园 BBS 社区)M7wHit
    
M@9D}6bG;L1{)ff0通过apachetop发现两台服务器负载不均: A 280-295/s
-e8Kw @dj n#`,Dw0                                                                            B 310-320/s
#vYm.q X`%bBK/L$]:s0       
]kO;lU,Z4\'?(V0pG0       木铎校园 BBS 社区&Gu3a.p Q3\t8~
一、初步优化:木铎校园 BBS 社区2Moz;G,i:[
        nginx:keepalive=0木铎校园 BBS 社区x&_ y8R&_"B
        系统: net.ipv4.tcp_max_tw_buckets = 5000       
/s~;tq;cn.m e\Q0       木铎校园 BBS 社区k4dqK&GM5[t;l
        系统情况变化情况:
3A D!{Q L~p0        1. [root@xx_xx_API_37_42  <37.42>]: /data1/nginx                         
MR$Z`A*A0           0> netstat -ant | awk '{A[$6]++}END{ for (a in A){print a,A[a]}}'
9j)JYL$Ch0       LAST_ACK 19                                                     
4@)[7E8R5J0       LISTEN 7                                                        
4r MD#jQ7q o\9u(}:Z0       SYN_RECV 76                                                     木铎校园 BBS 社区z4_1XajtH
       ESTABLISHED 3781                                                
(nG7zA6hw Z0       established) 1                                                  
&lf e~4_3Sk9VT7R0       FIN_WAIT1 129                                                   
c?*NC0w+Dc*A z0       FIN_WAIT2 4876                                                  木铎校园 BBS 社区h1_ K:^.So
       Foreign 1                                                       木铎校园 BBS 社区*G$?+u`k?&j
       CLOSING 3                                                       
{.\]rOU k(h k1e7Z1[0       TIME_WAIT 6098     
^fA}7w8W0      木铎校园 BBS 社区 Fo&Nm"c4tZ"L v*r4m
                        PM    totsck    tcpsck    udpsck    rawsck   ip-frag      
W`/[%yo8llV0          4:50:01 PM      4306      9331         3         0         0木铎校园 BBS 社区r)\4N!Hb0@l(I K$V
          05:00:01 PM      4030      8968         3         0         0                                       木铎校园 BBS 社区,Q*YV n]n0NS6Z
       05:10:01 PM      3988      8596         3         0         0
ZSTk~R!f0^0                                                
7Hp:l R X$Z BTP:{0       Cpu(s): 21.2% us,  2.8% sy,  0.0% ni, 75.8% id,  0.2% wa,  0.0% hi,  0.0% si        木铎校园 BBS 社区J pg7p+K!VKG;c
     木铎校园 BBS 社区 w+b,]@Jz,H#dek
      修改后变化:
Duk%Gg]"m0          0> !net                                                       木铎校园 BBS 社区qT+@B I XN
        netstat -ant | awk '{A[$6]++}END{ for (a in A){print a,A[a]}}'木铎校园 BBS 社区 Zi7^!s2[(fb
        LAST_ACK 2                                                   
2K.} xk*kBA;f*A0        LISTEN 7                                                     木铎校园 BBS 社区\W_nj*n1d;kdv7Z
        SYN_RECV 75                                                  
?C$n+\V6X]4m0        ESTABLISHED 217                                              
:i6V k b Dx0Ouxg0        established) 1                                               
Kn5[WkCn0        FIN_WAIT1 80                                                 木铎校园 BBS 社区'p+f(Z{ l?)J
        FIN_WAIT2 162                                                木铎校园 BBS 社区@G&ZV/sTCyf
        Foreign 1                                                    
Mm5D#cH&}!|0        CLOSING 56                                                   木铎校园 BBS 社区F2?Q'S:Q:{,u
        TIME_WAIT 5014              木铎校园 BBS 社区v6v r3G;nak
       
RAn%?$}1Z0        03:00:01 PM    totsck    tcpsck    udpsck    rawsck   ip-frag                                
Q4J'a-zQ'p1R0        05:00:01 PM      4030      8968         3         0         0
'i:N `2u3][0        05:10:01 PM      3988      8596         3         0         0
_k+_M5xA.z2Q N0        05:20:01 PM        47      1865         3         0         0
W LUa1N Zq-OD0        05:30:01 PM       410      2548         3         0         0木铎校园 BBS 社区X }c(Bm
        05:40:01 PM       400      1388         3         0         0
[x%i j)Arx:vn ?*~0        05:50:01 PM       401       499         3         0         0木铎校园 BBS 社区9}~$nRg0T-fGa
        06:00:01 PM       407       507         3         0         0木铎校园 BBS 社区~ ]0x,o[J
       木铎校园 BBS 社区 \hJM2w q}
        2.2% syCpu(s): 17.3% u,  0.0% ni, 80.3% id,  0.2% wa,  0.0% hi,  0.0% si
_ku4f9G{|Th4pr0       木铎校园 BBS 社区Nd u {!|U{k
      结果:负载降低5%左右。
)^3nzD-O0      原则:apachetop显示的每秒处理请求数与连接数相差不多,连接数更少一些(由后面ab测试结果得知每次请求消耗的时间小于1s,established的数量严重大于ngxin正在处理的量,是不合理的)
'BGYxyZt6d m0     
^)u)u{&~T4Md0二、性能测试及深入优化       木铎校园 BBS 社区;E$g&Z*}X,X
        ab 测试:
'nSW/F#{n/~b`"I$D0        [root@xx_xx_API_37_43  <37.43>]: ~                                             
j1qGGwz7Ynyq%y0    130> ab -n 100000 -c 200   http://xx.xx.37.42/myblog/xxxxxxxwd_image.php     
`KO:_'U*D#J0    This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3           
%?:I OJ?\h0    Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
2W S_^EOVp0    Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/  
(@1N/qkaiYV0                                                                           木铎校园 BBS 社区 ?@!BsL
    Benchmarking xx.xx.37.42 (be patient)                                      木铎校园 BBS 社区*h!u5g*D9[mrAq
    Completed 10000 requests                                                   
D,w4H Vf z-]0    Completed 20000 requests                                                   
}0C t vG,|0    Completed 30000 requests                                                   木铎校园 BBS 社区y h jLp~0s%u
    Completed 40000 requests                                                   木铎校园 BBS 社区"u;[WXx x
    Completed 50000 requests                                                   
,d kg$WG0    Completed 60000 requests                                                   木铎校园 BBS 社区 E!]2C_]
    Completed 70000 requests                                                   木铎校园 BBS 社区/U\3XYK%{9r,u5t
    Completed 80000 requests                                                   
$N-Di${,[1j6p\0    Completed 90000 requests                                                   木铎校园 BBS 社区CM.[#W j
    Finished 100000 requests                                                   
1W_+Yz*S~z0    Server Software:        nginx/0.5.35                                       木铎校园 BBS 社区&c(f+f-R1u&Fl N#?;Z5y"V
    Server Hostname:        xx.xx.37.42                                        
Z6v7k@4Y,i0    Server Port:            80                                                 木铎校园 BBS 社区#U|.O#@#yC
                                                                           
;B/D(n4Hd ?b0    Document Path:          /myblog/xxxxxxxwd_image.php                          木铎校园 BBS 社区#l t!gvdn
    Document Length:        575 bytes                                          
9f,nXrAu8P2o1YB%D N0                                                                           木铎校园 BBS 社区%K.EyP8i%j0kc
    Concurrency Level:      200                                                
6z7q,J |b N?K0    Time taken for tests:   129.500 seconds                                    
_z!m,E/^`E6S6L0    Complete requests:      100000                                             
3dwu `MB*CA`0    Failed requests:        97359                                              木铎校园 BBS 社区VE uc1e;x#e4W@}b
       (Connect: 0, Length: 97359, Exceptions: 0)                              木铎校园 BBS 社区6GJ Ywj1o7r(~o&R x
    Broken pipe errors:     0                                                  
7EW.p-M^U'TA&{:JD0    Total transferred:      82307953 bytes                                     木铎校园 BBS 社区4j@J?`u/G'r F
    HTML transferred:       57107953 bytes                                     木铎校园 BBS 社区&LSzpbB*YM
    Requests per second:    772.20 [#/sec] (mean)                              木铎校园 BBS 社区1^/R;a!hn1{e6W
    Time per request:       259.00 [ms] (mean)                                 木铎校园 BBS 社区KF$o\xX6i
    Time per request:       1.29 [ms] (mean, across all concurrent requests)   
;kjnA!gADa0    Transfer rate:          635.58 [Kbytes/sec] received                       木铎校园 BBS 社区t cQ9Y n,Z-{&U5N,m
                                                                           木铎校园 BBS 社区N+E,W_D y2t,H
    Connnection Times (ms)                                                     
"yUj"XW6a1V?YY0                  min  mean[+/-sd] median   max                                
QD*Nc&D d~"\%h:p0    Connect:        1   124   29.3    117  3142                                
&P)] `\ e9m,Z4f0    Processing:    29   135   17.7    129   775                                木铎校园 BBS 社区?Y Bnd.~gUT
    Waiting:       28   134   17.7    128   775                                木铎校园 BBS 社区'id.p)\v@
    Total:         29   259   39.0    243  3305                                
Tp$HO{a$i0                                                                           
&Rg2c#ih y0    Percentage of the requests served within a certain time (ms)               木铎校园 BBS 社区p&Cp n/IGQ"K'D
      50%    243                                                               木铎校园 BBS 社区P$U9Gp9Cq
      66%    274                                                               木铎校园 BBS 社区/E&f7UM [
      75%    290                                                               
`LH y3y|M uj0      80%    295                                                               木铎校园 BBS 社区8H4wU1K{(v:I&pX
      90%    305                                                               木铎校园 BBS 社区?/C[E%Xo,Wd
      95%    310                                                               
[qnuS ] H~bY;W0      98%    315                                                               
"_H(f^&AJ+T0      99%    318                                                               
9`H4Sf&a(S\.k0     100%   3305 (last request)                                                
"}z'Q$j_$nOY D0    
TZ5xm(s\ _0     cpu性能:                                                                         木铎校园 BBS 社区{W4hagf
     Cpu(s): 50.4% us,  6.6% sy,  0.0% ni, 42.9% id,  0.2% wa,  0.0% hi,  0.0% si
TL[Fh^7U0    木铎校园 BBS 社区 W;z?eh\e-F"v
     分析:
3L'zH,t9IA0\n0     如上面数据:
JW5Y[5] ? xw9G"e0             ab每秒增加700多个请求(正常业务带来200-340,测试当时为250左右),apachetop显示每秒正确处理(返回code 200)400-480个
emL#`"{4u0             请求的失败率为10%左右。木铎校园 BBS 社区 h*[6t`zVG;w
            木铎校园 BBS 社区 R:B)aK"O:A
             即:在业务请求每秒达到900-1000的时候,apachetop显示的正确处理个数为400-480,错误处理(非200)数量增加
u p!G;xB-[-hYk(@0       问题存在:                                                                                         
7F,cUR%Jm+T0           1,后端的处理能力                                                                                 
$vb;~V/v{yO0           2,fcgi的处理能力(进程数量)                                                                     
7|O EI!tc0                       目前通过top显示每个php进程设定了5532 k byte的内存,使用了3824 (不到4M),                    木铎校园 BBS 社区!B#_ r#g(b3Wmp7Quza;h
                       php.ini 中 memory_limit = 8M        
6Yv}t z1I {4JQ0              
Y:O R1gV#gr cA$e2W0     调整:
-Wq&l`wDX6S]0             修改 php fcgi 的worker 为 200后测试情况:                                                                                                                                                                                                                            木铎校园 BBS 社区k9` i)Z R
            0> ab -n 100000 -c 200   http://xx.xx.37.42/myblog/xxxxxxxwd_image.php                                                                                             木铎校园 BBS 社区0D(j^A(PUe!X
          This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3                                                                                        
o'cc Pv'Q]+jd0          Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/                                                                            
1J{&bBn3L5J-Q?0          Copyright (c) 2006 The Apache Software Foundation, http://www.apache.org/                                                                               
D|&mm8Pp/L0                                                                                                                                                                  
7Ij8c(WZi0          Benchmarking xx.xx.37.42 (be patient)                                                                                                                   木铎校园 BBS 社区fC&z"^ M#lGC2^
          Completed 10000 requests                                                                                                                                
-q6Y1g'A)h8K E:s0          Completed 20000 requests                                                                                                                                
R*x6j$?:XZ0          Completed 30000 requests                                                                                                                                木铎校园 BBS 社区sb|A ]D/` v-S
          Completed 40000 requests                                                                                                                                
} oD"I e/p-~ b0          Completed 50000 requests                                                                                                                                木铎校园 BBS 社区h#fh R!c!L6A KG+Pe
          Completed 60000 requests                                                                                                                                
~xIUep1}?c0          Completed 70000 requests                                                                                                                                
8J\3EYwo(M.Q0          Completed 80000 requests                                                                                                                                木铎校园 BBS 社区N8O6D:r'h\YY#L$M
          Completed 90000 requests                                                                                                                                
AN2T"DL0          Finished 100000 requests                                                                                                                                木铎校园 BBS 社区b2?PpoF2_m
          Server Software:        nginx/0.5.35                                                                                                                    木铎校园 BBS 社区wC0]'L$c q
          Server Hostname:        xx.xx.37.42                                                                                                                     木铎校园 BBS 社区^0K,Dz4W.^*~4gQo
          Server Port:            80                                                                                                                              
Xiq8qt5S0                                                                                                                                                                  
k1Qfa m5E0          Document Path:          /myblog/xxxxxxxwd_image.php                                                                                                       木铎校园 BBS 社区/l${N ^^;J(b
          Document Length:        545 bytes                                                                                                                       
nIrDKZI [ _5b t0                                                                                                                                                                  
I7}!Hfbt'a0          Concurrency Level:      200                                                                                                                             木铎校园 BBS 社区 T-i|fg1u\:U@|-[6m
          Time taken for tests:   129.350 seconds                                                                                                                 木铎校园 BBS 社区Q*xc9kgt9rM
          Complete requests:      100000                                                                                                                          木铎校园 BBS 社区f&X4H}J4J V:v
          Failed requests:        99415                                                                                                                           木铎校园 BBS 社区9V ``O'o%q
             (Connect: 0, Length: 99415, Exceptions: 0)                                                                                                           木铎校园 BBS 社区Q-f_2?#V _
          Broken pipe errors:     0                                                                                                                               木铎校园 BBS 社区Vr o"q Y;qT.aF
          Total transferred:      82315072 bytes                                                                                                                  木铎校园 BBS 社区L!XLZM[io D `
          HTML transferred:       57115072 bytes                                                                                                                  
z-AS+V/WQNd0          Requests per second:    773.10 [#/sec] (mean)                                                                                                           木铎校园 BBS 社区*b6zKU3VY@8y1m
          Time per request:       258.70 [ms] (mean)                                                                                                              
G2W1e!^ Vl/_A^t0          Time per request:       1.29 [ms] (mean, across all concurrent requests)                                                                                
.pkG-BL0          Transfer rate:          636.37 [Kbytes/sec] received                                                                                                    
YdA*R$oJ:X1eY.\J0                                                                                                                                                                  
2fA-kd(~w]0          Connnection Times (ms)                                                                                                                                  木铎校园 BBS 社区@-zxIS
                        min  mean[+/-sd] median   max                                                                                                             
Ln1l7e1d+P4o.W7a;q?XN0          Connect:        0   125  106.5    117  3049                                                                                                             
!`%_;h2kr2[q*eq/_0          Processing:    19   133   21.0    128   513                                                                                                             
3E%F+pmx7{0          Waiting:       18   132   21.0    128   513                                                                                                             木铎校园 BBS 社区+[[p]Fg
          Total:         19   258  111.2    244  3271                                                                                                             
B;Q K$e)z!u}Y0J\0                                                                                                                                                                  
a Jv.IgNImM0          Percentage of the requests served within a certain time (ms)                                                                                            
`4_2`(Tb4|"wQ0            50%    244                                                                                                                                            木铎校园 BBS 社区.a`!j*U8PM
            66%    272                                                                                                                                            
Itj'Hd.Hq;b0            75%    288                                                                                                                                            
E t,Q\4P0            80%    293                                                                                                                                            木铎校园 BBS 社区` h|#q/dZvf
            90%    303                                                                                                                                            
z!s$Ww)U;\0            95%    309                                                                                                                                            
,Fgq?X'Dv0            98%    313                                                                                                                                            木铎校园 BBS 社区HqHeD{9V
            99%    317                                                                                                                                            
tBgy?Syd0           100%   3271 (last request)                                                                                                                             
5t`;Q;~!}Sk a}4J0                                                                                                                                                                  木铎校园 BBS 社区7x"k3}/{XL[*c.P+_
                                                                                                                                                                  木铎校园 BBS 社区7SX%B1B7E Y6^1c ^
                                                                                                                                                                  
H0m"Qf{/NC)a7Q4d0           [root@xx_xx_API_37_42  <37.42>]: /data1/nginx                                                                                                        木铎校园 BBS 社区sd4O2V kn
           0> top                                                                                                                                                 木铎校园 BBS 社区rq2e/V K+qca*]*s F
           top - 14:24:52 up 132 days, 23:10,  5 users,  load average: 6.80, 3.60, 2.37                                                                           木铎校园 BBS 社区Xi8La/qVN3il
           Tasks: 325 total,  16 running, 308 sleeping,   1 stopped,   0 zombie                                                                                   木铎校园 BBS 社区 D,Jy.qX?
           Cpu(s): 54.9% us,  7.9% sy,  0.0% ni, 37.0% id,  0.1% wa,  0.0% hi,  0.0% si                                                                           
een} gja!x;V3`0           Mem:   4144692k total,  2994984k used,  1149708k free,   188240k buffers                                                                               木铎校园 BBS 社区cYQ+W1~$tP7K`
           Swap:  2096440k total,      160k used,  2096280k free,  2341820k cached  木铎校园 BBS 社区Ef)SM&ewd h4E
          木铎校园 BBS 社区fRu(l6tH`
         分析:木铎校园 BBS 社区;gd5R a D'k
             分析:apachetop显示并发处理的正常的请求数为800-900(此时所有的请求数大约是900-1000),是跟据php 进程数量进行了线性的增长                                                                             木铎校园 BBS 社区PUu s"w&z
                    得出结论:此次调整合适,php cgi的进程数量可再调高,ab测试的并发数可再提高一些。                               
iJ g(H'i8nQ0                   
"u-^P8Cjqi0                调整:将php cgi的进程数增加到300(php共使用内存1.5G),增大ab测试的并发数量                                                                                                                                                                            
F6cX#W4x+B/a+Qh7xF0             [root@xx_xx_API_37_42  <37.42>]: /data1/nginx                                                                                                              木铎校园 BBS 社区4t Wti'nx5S{r+E&F
             0> logs/apachetop -f logs/blog.xxx.com.cn-access_log                                                                                                        木铎校园 BBS 社区 Ljv@ f*U&v H X
             2xx: 1s)   6:31:52%) 3xx:  0.0/s0 ( 0.0%) 4xx:     0 ( 025%) 5xx:     0 ( 0.053                                                                              木铎校园 BBS 社区 NH9OG)[)wdg
                         25374       1015.0              19.8M7.8 809.2K          816.4                                                                                   
S1Brr:cp0                    25363 (100.0%) 3xx:       0 ( 0.0%) 4xx:    11                                                                                                        
'fpQYn/cO0                 2553746     1006.7   915.0              19.8M7.8 809.2K          816.4                                                                                   
3?7o y9C%PD"QM0             25367 1014.7 20225  803xx:blog/c 0 ( 0.0%) 4xx:    11                                                                                                        
&V7mO }] n0                                                                                                                                                                          
eX H8PU0             [root@xx_xx_API_37_42  <37.42>]: /data1/nginx                                                                                                              
v^a,WG P!W|"S0             0> logs/apachetop -f logs/blog.xxx.com.cn-access_log                                                                                                        
h qu*Yxs@6X_.v0             2xx: 1s)   6:34:58%) 3xx:  0.0/s0 ( 0.0%) 4xx:     0 (2:50%) 5xx:     0 ( 04:59                                                                              
:z;HXNnx0                        187738       1104.3             146.31.20 811.2K          817.1                                                                                   木铎校园 BBS 社区R d:D1IanP6q0y$M
                   187678 (100.0%) 3xx:       1 ( 0.0%) 4xx:    59                                                                                                        木铎校园 BBS 社区V OM-@$Z&VAn|
                 3031919  3408018.1   113.6              26.087.9 898.6K          817.1                                                                                   
Rx7C7kVM'o N1I1nn#B9{0             33132 110404 26440  88*/myblog/ch0ckwd_image.php    4                                                                                                        
#|Me {qN(@x0                                                                                                                                                                          
e(HErF)O"Rnkr0             增加ab并发请求 1000(1100 失败)                                                                                                                             
"J}y`PXK)CVo0             [root@xxx_xx_API_37_42  <37.42>]: /data1/nginx                                                                                                              
.G0^\;p&T,ev0             130> top                                                                                                                                                     
?m#E6i"V` G1v L0             top - 14:42:53 up 132 days, 23:28,  5 users,  load average: 7.51, 8.14, 6.23                                                                                 木铎校园 BBS 社区R-W ~4yi@9N%n
             Tasks: 382 total,  13 running, 368 sleeping,   1 stopped,   0 zombie                                                                                         木铎校园 BBS 社区@U)\9Pk
             Cpu(s): 55.5% us,  7.6% sy,  0.0% ni, 36.6% id,  0.2% wa,  0.0% hi,  0.0% si                                                                                 
,_ em~[G6JH&K0             Mem:   4144692k total,  3244744k used,   899948k free,   188852k buffers                                                                                     
'O%s3W[;e7j0             Swap:  2096440k total,      160k used,  2096280k free,  2495908k cached                                                                                      
0}Q_ oT6Dt-vf X0                                                                                                                                                                          木铎校园 BBS 社区2yUi]4V
             0> logs/apachetop -f logs/blog.xxx.com.cn-access_log                                                                                                        木铎校园 BBS 社区D P,oW6FF
             2xx: 1s)   6:44:33%) 3xx:  0.0/s0 ( 0.0%) 4xx:     0 (1:10%) 5xx:     0 ( 04:34                                                                              
NzIPl.v0                         78944     &