Closed netcccyun closed 4 months ago
符合预期,native curl
底层基于 libcurl ,这并不是一个为 php 语言专门设计的 HTTP 库,未能有效利用到 PHP ZendVM
提供的能力。而 SWOOLE_HOOK_CURL
底层是 Swoole\Http\Client
,是专门为 PHP
设计的,可以直接将元数据存储到 PHP 数组,而无需进行任何转换。
native-curl
可以提供最大的兼容性支持,可以使用所有 CURL 的功能, 而 Swoole\Http\Client
只有部分 CURL 的功能
Swoole\Http\Client能不能后期支持下 https://github.com/swoole/swoole-src/issues/5232 说的那几个数据值?
此问题是该贴的后续 https://github.com/swoole/swoole-src/issues/5232
在开启native curl后,请求https的性能远不如未开启native curl的模式。
我这边测试了下,请求同样的https链接,性能差距大概5倍左右(请求http的性能一样,只有https有性能问题),在一台2C4G的服务器上,使用native curl后每秒请求80次CPU占用50%,在不使用native curl的情况下,每秒请求400次 CPU才占用50%左右。
代码中CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST都是false,也即未开启SSL证书验证。