建议在每次查询后关闭 MySQL 连接吗

建议在每次查询后关闭 MySQL 连接吗

我有一些用 PHP 编写的网络爬虫,它可以抓取网页并将页面信息存储在数据库中,现在的问题是,加载页面需要花费大量时间,而且我的脚本在每次请求之间最多会休眠 5 秒,同时与 MySQL 服务器的连接仍然处于打开状态,因此导致休眠的 MySQL 进程太多。

我在想,由于我的脚本的每个实例大约存活 20 秒,并且不会产生超过 3-4 个 MySQL 查询,因此关闭与 MySQL 的连接并在每次查询时重新打开它可能会更好地提高性能,我想在我浪费时间编辑代码之前我可以就此事征求你的建议,我这样说有道理吗?

答案1

看情况。

一般来说,会话​​创建的开销太小,无需担心,但如果会话是由同一进程创建的,则使会话持久是合理的。如果会话是由不同的进程建立的,并且连接速率足够高,那么您可能会因为大量空闲会话而超出限制。在这种情况下,您必须立即关闭空闲连接。

如果您的 MySQL 服务器由本地 Web 服务器使用,则您可以通过文件套接字而不是 IP 套接字连接到它。这是一种更快的方法,但同时连接的数量仍然受到相同服务器选项的限制。

相关内容