我有一个复杂的 PHP 应用程序,它使用使用 Zend Framework v1.x 构建的 ESB 模型。性能已经成为一个问题,现在我知道原因了:读取 php://input 流始终需要几乎正好 10 秒。
这是来自 XDebug 跟踪日志的片段:
0.3985 6935880 -> Zend_Controller_Request_Http->getRawBody() /var/www/vas/Adapters/Database/application/controllers/AdapterController.php:473
0.3985 6936104 -> file_get_contents() /usr/share/php/ZendFramework-1.12.0/library/Zend/Controller/Request/Http.php:961
10.4134 6936096 -> trim() /usr/share/php/ZendFramework-1.12.0/library/Zend/Controller/Request/Http.php:963
我们部署了一个 ESB 模型,请求从门户到 ESB,再到数据库适配器。单独访问任何一台服务器似乎没有问题,但只要请求在服务器之间(实际上是同一台服务器上的虚拟主机),问题就会出现。