四、搭建Web服务器
4.1、性能对比
使用apache bench工具对Nginx静态页、Golang Http程序、PHP7 Swoole Http程序进行压力测试。在同一台机器上,进行并发100用户,共100万次Http请求的基准测试中,QPS对比如下:
QPS数值越大,WEB性能越好.
4.2、构建web服务器
Swoole1.7.7版本增加了内置Http服务器的支持,通过几行代码即可写出一个异步非阻塞多进程的Http服务器。 Http类的模块是继承了Server类
代码语言:javascript复制$http = new SwooleHttpServer("127.0.0.1", 9501);
// 接受客户端请求事件
$http->on('request', function(swoole_http_request $request, swoole_http_response $response) {
// 发送到客户端浏览器
$response->end("<h1>hello swoole</h1>");
});
$http->start();
// 参数说明
$request,Http请求信息对象,包含了header/get/post/cookie/rawContent[put/delete]等相关信息
$response,Http响应对象,支持cookie/header/status等Http操作
通过ab压测
代码语言:javascript复制yum install -y httpd-tools
压测
代码语言:javascript复制ab -c100 -n1000 -k url地址
-c 并发的人数
-n 总的请求次数
4.3、静态服务器
代码语言:javascript复制# 静态资源配置选项
'document_root' => '/data/webroot', // v4.4.0以下版本, 此处必须为绝对路径
'enable_static_handler' => true,
注:document_root选项一定要注册静态资源请求的时路径来设置
静态的文件
路径
4.4、动态服务器
高性能的动态解析PHP的服务器
页面PHP文件
封装$_get $_post $_files数据的获取