php - ADO 和 msqli 连接非常慢

标签 php mysql apache mysqli windows-server-2008

我的生产 Web 服务器的 ADO 和 mysqli 连接速度非常慢。当前的软件设置是Windows 2008 Server R2标准版SP1、Apache 2.4、PHP 5.3.10、MySql 5.5.24、Pear 1.94、Zend Engine版本2.30。

我使用 XDEBUG 分析了代码,它显示每个初始连接大约需要 1200 毫秒(无论访问的页面如何),而在我的本地开发计算机和另一台测试服务器上,连接只需要大约 8 毫秒。除了 php、pear、mysql 和 apache ini 和 conf 文件之外,网站的代码全部通过 SVN 同步。我已经对这些进行了比较以检查是否存在差异,但没有任何差异。 DB 内容也是完整的副本。生产服务器的所有内容都托管在同一台计算机上,因此不存在任何防火墙或互联网问题。

第一个连接配置文件具有以下调用堆栈:

ADOConnecton->Connect
ADODB_mysql->_connect
php::mysql_connect

第二个:

php::mysqli->mysqli

有什么建议吗?

最佳答案

通常(第一次)连接的缓慢程度取决于 DNS 解析。 可能是:

  • 客户端解析服务器名称
  • 解析客户端名称以匹配访问规则的服务器

让客户端/服务器使用主机文件了解服务器/客户端地址: http://en.wikipedia.org/wiki/Hosts_(file)

关于php - ADO 和 msqli 连接非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11140975/

相关文章:

regex - 如何将 url http 重写为 https

php - Unix 'at' 命令并返回作业号

PHP - 查询变量 - 不工作

php - Laravel Passport 可以用于验证用户吗?

删除触发器中的Mysql语法错误

PHP, .htaccess apache 统一 mod_rewrite 只用一个变量

php - 如何使用来自多个表的标签实现标签系统

mysql - 按特定ID计算select语句值组的总和

mysql - AWS RDS + Magento 2

php - 如何为每个虚拟主机创建自定义 php.ini 文件?