对apache进行测试的时候,例子代码如下

例子代码如下,进行静态文件的对比测试的时候

Nginx+FastCgi的测试

Nginx + Fastcgi配置方法

一、nginx安装&配置

1) apt-get install nginx

2) 修改/etc/nginx/sites-available下的default文件

[plain] view plaincopy
#设置首页
root /usr/share/nginx/myweb;
index index.html index.htm;
#修改端口
listen 8880 default_server;
listen [::]:8880 default_server ipv6only=on;
#设置fastcgi程序入口
location /mycgi.cgi {
fastcgi_pass 127.0.0.1:9999; -> fastcgi程序监听的端口
#fastcgi_index mycgi.out;
include fastcgi_params;
}

二、fastcgi管理器spawn-fcgi的安装

apt-get install spawn-fcgi

三、fcgi库的安装

没有找到官网下载,有些奇怪,临时参照附件。

1)修改include/fcgio.h文件,追加#include

2)./configure

3)./make install

4) ldconfig /usr/local/lib (libfcgi.so默认生成路径)

四、编译cgi程序

例子代码如下:

[cpp] view plaincopy#include
#include
#include
#include
#include
int main(int argc, char** argv)
{
int count = 0;
while( FCGI_Accept() >= 0 )
{
printf( "Content-type:text/html\r\n\r\n" );
printf( " Hello FastCGI ! " );
printf( " Request number = [%d]", ++count );
printf( " CGI PID: %d ", getpid() );
}
return 0;
}

编译

g++ mycgi.c -o mycgi.out -L /usr/local/lib -lfcgi

五、启动cgi

spawn-fcgi -a 127.0.0.1 -p 9999 -f /root/mycgi/mycgi.out -F 3

-F指定启动的cgi进程个数,nginx会轮询访问

访问


图片 1


Nginx + Fastcgi配置方法
一、nginx安装配置 1) apt-get install nginx 2)
修改/etc/nginx/sites-available下的default文件 [plain] view
plaincopy#设置…

1,在用AB(apache benchmark)
对apache进行测试的时候,可以得到明显的结论html网页的请求和打开速度是php网页的N
倍。原因就不多说了,php的程序结构和数据库设计影响了页面的执行响应时间。

因此对于很多网站来说,如果对于页面有较高的要求的话还是静态化比较适合,注意是真的静态化。

2,服务器上虽然安装了nginx,但是对于Nginx 
能提升性能到什么地步,真的没有一个概念,使用IE同时访问apache和nginx
对应的相同代码的网站,多次对比测试,感觉不到任何明显的不同; 但是在用AB
进行静态文件的对比测试的时候,就发觉了比较大的不同:

2.1 ab 对于apache的测试

 ab -n 200000 -c 20 -k

测试结果:

Concurrency Level:      20
Time taken for tests:   14.340333 seconds
Complete requests:      200000
Failed requests:        0
Write errors:           0
Non-2xx responses:      200014
Keep-Alive requests:    198030
Total transferred:      101118390 bytes
HTML transferred:       58004060 bytes
Requests per second:    13946.68 [#/sec] (mean)
Time per request:       1.434 [ms] (mean)
Time per request:       0.072 [ms] (mean, across all concurrent
requests)
Transfer rate:          6886.03 [Kbytes/sec]金沙娱手机乐登录口 , received

2.2 ab 对于nginx的测试

ab -n 200000 -c 20 -k

Concurrency Level:      20
Time taken for tests:   7.399364 seconds
Complete requests:      200000
Failed requests:        0
Write errors:           0
Non-2xx responses:      200004
Keep-Alive requests:    198010
Total transferred:      761605282 bytes
HTML transferred:       730414608 bytes
Requests per second:    27029.35 [#/sec] (mean)
Time per request:       0.740 [ms] (mean)
Time per request:       0.037 [ms] (mean, across all concurrent
requests)
Transfer rate:          100516.07 [Kbytes/sec] received


对于静态文件来说,nginx性能提升了一倍。而且多次测试发现apache会出现性能下降的现象。而nginx基本不出现这一问题。

而对于动态文件的测试发觉Nginx
并不明显,推测可能是因为数据库的调用存在瓶颈,所以导致了不明显,而且就算是nginx中使用的是fastcgi模式,也没有传说中的那么牛X,而关键问题还是出现在数据库瓶颈和程序设计上