ASP IIS 上的经典执行每个 mySQL 脚本需要 31 秒

ASP Classic On IIS Takes 31 Seconds To Execute Each mySQL Script

我的开发系统突然遇到了这个奇怪的问题,每个 SQL 脚本在我的经典 ASP 站点连接到 mySQL (MariaDB ) 数据库。

连接到我系统外的数据库 运行 的本地副本,甚至连接到托管在网络主机上的实时数据库,都是一样的。 一切都来自一个简单的

adoconn.Execute("SELECT * FROM users;")

甚至

adoconn.Execute("SET sql_mode''")

执行需要 31 秒。每个!

我可以安全地排除与数据库连接的任何问题,并且 运行 来自 DBeaver 的脚本完全没有问题。结果立即返回。 我还可以排除网络问题,因为本地数据库和托管数据库具有相同的结果,并且我使用 WireShark 确认 MySQL 数据包几乎立即从托管数据库得到响应。

调试单步执行我的 ASP 代码,一切运行正常,直到 .Execute() 将花费 31 秒,无论脚本有多复杂。

最奇怪的是,这个问题是突如其来的;当我的系统在周末断电、断开连接且未被触及时。没有对系统进行任何更新、安装或更改。星期五,我的开发工作做得非常好。但是星期一早上,当我重新启动它时,那里的数据库连接被塞满了。

我已经尝试配置 mySQL 以使用 "skip-name-resolve" 和 "bind-address = ::" 设置。 我曾尝试重建我的 IIS 网站并重新安装 IIS 本身。 我还在我的系统上重新安装了 mySQL ODBC 驱动程序,但没有用。

这是怎么回事?

事实证明,整个问题的起因是我的戴尔笔记本电脑中预装的 McAfee 软件。 不,请注意,我确实禁用了防火墙和防病毒软件。 这些是我做的第一步,并在我的测试过程中例行地进行了三次检查。 McAfee 的防火墙和自动保护都完全禁用。 但显然,McAfee 忽略了此设置,并通过 ODBC 破坏了我的数据库连接。

这个问题终于在我完全卸载这个 McAfee 恶意软件 后才告一段落。没有其他方式可以描述它。

让这个 post 成为对任何天真地认为此恶意软件是其他任何东西的人的警告。