我的服务器上安装了PHP 7.0和PHP 5.6(这是一个拥有大量资源的专用服务器),而通过PHP 7创build的出站请求非常缓慢,而不是通过PHP 5创build的。在PHP中使用cURL进行testing时命令行解释器,使用PHP 5需要1.3秒的请求(对于一个33MB文件)在PHP 7上执行时需要16.9秒(我能够可靠地重现这些结果 – 这不仅仅是一次性秒杀)。
这个时间是在实际的下载过程中完成的,而不是根据curl_getinfo来设置连接,而在PHP 7和PHP 5中所有的时间(名称查询,连接,开始传输时间等等)大约高出10倍,还是完全在一秒之内,所以绝大部分时间都是用来下载文件的; 当下载被cURL超时中断时,表示接收到的字节数的错误信息与其执行的时间大致成正比。 这导致了我的结论,networking速度必须被抑制,但我不能认为会影响PHP 7(CLI和FPM),而不是PHP 5。
不仅cURL受此影响 – 使用手动套接字连接尝试相同的请求也非常慢(事实上明显慢于cURL,尽pipe这可能是因为cURL可以处理压缩,而套接字连接却不能)。
该服务器正在运行Debian Jessie。