Concurrency Level: 100
Time taken for tests: 4.082 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 3100000 bytes
HTML transferred: 1200000 bytes
Requests per second: 24498.50 [#/sec] (mean)
Time per request: 4.082 [ms] (mean)
Time per request: 0.041 [ms] (mean, across all concurrent requests)
Transfer rate: 741.65 [Kbytes/sec] received
php
跟https
没有半毛钱关系,因为php是一种语言/脚本解释器,不是一种服务器一个请求到达服务器,无论是
http
还是https
,先经过web server
,如apache
、nginx
,由web server
处理与客户端之间基于http/https
协议的数据交互根据一定规则(如扩展名)确定是否需要调用
php
来处理这个请求,调用的方式有很多种,比如模块
方式、CGI
方式、以及基于CGI的fastcgi/fpm
方式,取决于web server
的配置调用结束后,
php
把要返回的数据吐出来给web server
,再由web server
封装成http/https
协议格式,返回给客户端/浏览器首先需要知道你是用apache还是nginx做服务器,真正的请求是服务器去解析的。在服务器配置后就会直接交给php处理了。没用服务器的话请见@mao童鞋的答案
PHP也能写Socket服务器的,上面是用PHP写的一个极其简陋的HTTPS的WebServer,本地测试通过,浏览器访问 https://127.0.0.1:2016测试
代码放到github中 https://github.com/walkor/webserver-example
里面还有个HTTP协议的WebServer,仍然是极其简陋的Demo,ab压测结果如下,单核2.4W QPS
PHP写的更强悍的socket服务器见这里:
https://github.com/walkor/workerman