zoukankan      html  css  js  c++  java
  • Swoole HTTPServer


    title: Swoole HTTPServer
    date: 2020-01-12 10:39:50
    categories:

    • Swoole
      tags:
    • Swoole HTTPServer

    HTTPServer

    HTTPServer对HTTP协议的支持并不完整,建议作为应用服务器。并且在前端增加Nginx作为代理

    <?php
    // 监听9501端口,创建http服务
    $http = new SwooleHttpServer('127.0.0.1',9501);
    
    //  接收到请求,设置返回数据
    $http->on('request',function ($request,$response){
       $response->end('<h1>Hello Swoole</h1>'.PHP_EOL);
    });
    
    // 开启服务
    $http->start();
    

    测试验证

    #执行shell脚本
    curl localhost:9501
    ############返回结果################
    #<h1>Hello Swoole</h1>
    ###################################
    

    性能测试

    ab -c 200 -n 2000000 -k http://192.168.255.109:9501/
    This is ApacheBench, Version 2.3 <$Revision: 1748469 $>
    Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
    Licensed to The Apache Software Foundation, http://www.apache.org/
    
    Benchmarking 192.168.255.109 (be patient)
    Completed 200000 requests
    Completed 400000 requests
    Completed 600000 requests
    Completed 800000 requests
    Completed 1000000 requests
    Completed 1200000 requests
    Completed 1400000 requests
    Completed 1600000 requests
    Completed 1800000 requests
    Completed 2000000 requests
    Finished 2000000 requests
    
    
    Server Software:        swoole-http-server
    Server Hostname:        192.168.255.109
    Server Port:            9501
    
    Document Path:          /
    Document Length:        22 bytes
    
    Concurrency Level:      200
    Time taken for tests:   197.370 seconds
    Complete requests:      2000000
    Failed requests:        0
    Keep-Alive requests:    2000000
    Total transferred:      350000000 bytes
    HTML transferred:       44000000 bytes
    Requests per second:    10133.27 [#/sec] (mean)
    Time per request:       19.737 [ms] (mean)
    Time per request:       0.099 [ms] (mean, across all concurrent requests)
    Transfer rate:          1731.76 [Kbytes/sec] received
    
    Connection Times (ms)
                  min  mean[+/-sd] median   max
    Connect:        0    0   0.0      0       2
    Processing:     3   20   7.6     18     121
    Waiting:        3   20   7.6     18     121
    Total:          3   20   7.6     18     121
    
    Percentage of the requests served within a certain time (ms)
      50%     18
      66%     21
      75%     22
      80%     23
      90%     25
      95%     28
      98%     50
      99%     57
     100%    121 (longest request)
    

    HTTPServer设置Cookie

    <?php
    // 监听9501端口,创建http服务
    $http = new SwooleHttpServer('0.0.0.0',9501);
    
    //  接收到请求,设置返回数据
    $http->on('request',function ($request,$response){
    //    设置cookie
        $response->cookie('php','phpcookie',$expire=180,$path="/");
        $response->end("请求参数:".json_encode($request->get));
    });
    
    // 开启服务
    $http->start();
    

    验证Cookie

    curl -v  http://192.168.255.109:9501/?m=1&c=2 
    [3] 8612
    [2]   Done                    curl -v http://192.168.255.109:9501/?m=1
    [work@p109 client]$ * About to connect() to 192.168.255.109 port 9501 (#0)
    *   Trying 192.168.255.109...
    * Connected to 192.168.255.109 (192.168.255.109) port 9501 (#0)
    > GET /?m=1 HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: 192.168.255.109:9501
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < Server: swoole-http-server
    < Connection: keep-alive
    < Content-Type: text/html
    < Date: Sun, 12 Jan 2020 11:20:29 GMT
    < Content-Length: 24
    < Set-Cookie: php=phpcookie; expires=Thu, 01-Jan-1970 00:03:00 GMT; path=/
    < 
    * Connection #0 to host 192.168.255.109 left intact
    请求参数:{"m":"1"}
    
    
  • 相关阅读:
    XSS
    XSS
    检查空引用
    LockInt
    Unity Shaderlab: Object Outlines 转
    git 恢复单个文件的历史版本
    烽火HG220G-U E00L2.03M2000光猫改桥接教程
    mark mem
    转 class和struct最本质的区别
    unity shader base pass and additional pass
  • 原文地址:https://www.cnblogs.com/anyux/p/12202064.html
Copyright © 2011-2022 走看看