1

我在我的项目中使用zend_mailfromzend-framework2循环发送一些电子邮件,但有时发送电子邮件比平时需要更多时间。经过一番研究,我发现延迟发生在stream_socket_client功能上。我试图将此函数的超时设置为可接受的值,但它似乎忽略了该设置。还尝试使用STREAM_CLIENT_PERSISTENT限制打开的套接字的数量,但没有运气。

平均stream_socket_client时间约为 0.03 秒,有时需要 5 秒甚至 40 秒。每个超过 0.5 秒的值对我来说都是不可接受的。我不知道是什么导致了这个问题。

当前设置:

$start = microtime(true);  

$this->socket = @stream_socket_client($remote, $errorNum, $errorStr, self::TIMEOUT_CONNECTION, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT);

echo 'Stream socket: '.(microtime(true) -  $start);
4

0 回答 0