1.首先是需要理解php-fpm运行机制,直白点说就是Nginx把数据交给php-fpm进行解析,php-fpm根据其配置文件产生fastcgi线程去处理php,1个线程只能处理1个请求,多个线程即并发处理N个请求(根据CPU强度来考虑处理速度开多少上限合适,需要注意的是不要生成同步对外请求之类的业务,因为耗时大,一旦并发起来就会堵塞进程,就会出现传说中的不知道为什么卡);
2.我是使用workman监听其他端口(非80),Nginx代理到这个端口,workman一开始就固定开8进程进行处理,减少了动态开销,所以很快,测试时最好裸奔测试,加了业务会有影响,后面我会说到为什么会有影响
3.关于框架,裸奔状态下,原始下的php并发处理肯定大于任何框架,不过这年代不会有谁用原始写代码的。php的框架我也用过很多,在我看来能减少IO开销的和加载少的框架就是好框架(因为处理速度快啊,处理速度不快的要来做毛,留着等被开除?),所以我选择了TP5(主要是开发简单,没这么B多不需要的加载,功能我宁愿手写也不会用现成的),框架裸奔下的测试就不多说了,网上一大堆
4.关于性能,只要链接了数据库,进行数据库的操作,就会产生耗时
4.1单台服务器(linux centos系统4U4H3.3GHz(I5-4590) 2G虚拟机 workman开8进程环境tp5框架)不操作数据库的话jmeter测试能并发1200+
4.2SELECT少搜索一个字段,开销从0.006s减少到0.0003s,所以你懂的