唉,事实证明Radreeg部分是对的。我做了一个20行的PHP脚本来分析连接到我的MySQL服务器需要多长时间:
<?php
$time = microtime(true);
$con = new PDO(...);
$connect_time = microtime(true);
$result = $con->query('SHOW TABLES');
$query_time = microtime(true);
var_dump($result->fetchAll(PDO::FETCH_ASSOC));
$time_con = ($connect_time - $time) * 1000;
$time_query = ($query_time - $connect_time) * 1000;
echo "Connection took $time_con ms\n";
echo "Query took $time_query ms\n";
输出为:
Connection took 230.18503189087 ms
Query took 64.532995223999 ms
这完美地填补了Symfony分析器的空白。好消息是,当我的应用程序上线时,它将通过套接字本地连接到MySQL服务器,因此它可能会非常快!不过,除了在本地镜像MySQL服务器之外,我对开发过程中的速度无能为力。
所以总结一下答案;Symfony防火墙最初创建与MySQL数据库的连接,在我的情况下,该连接非常慢。在我的情况下,MySQL连接时间占防火墙分析时间的80%以上。
注意:我已经通过IP地址连接到MySQL服务器,并且我已经添加到MySQL配置中,但无济于事。skip-name-resolve