Mariadb / MySQL在time_wait连接2分钟

时间:2018-01-27 05:40:45

标签: php mysql

当我运行以下php脚本时,它会显示数据库端口处于time_wait模式2分钟,然后才会断开连接。

PHP代码:

<?php
$db_host = "127.0.0.1";
$db_user = "user";
$db_pass = "pass";
$db_dbase = "database";
$mysqli = new mysqli("$db_host", "$db_user", "$db_pass", "$db_dbase");

$mysqli->close();
?>

IPTSTATE

显示接下来2分钟的time_wait模式下的数据库tcp连接。

我只是想知道如何在php脚本完成后立即删除连接?

1 个答案:

答案 0 :(得分:0)

我怀疑这与Persistent connections中为{MySQL}设置的php.ini有关。

Persistent connections manual page

基本上,一旦连接“关闭”,它会挂起一段时间以防再次使用(在大型Web应用程序中很可能)。然后,如果再次需要它,则节省了创建新连接的时间和资源,因为已经有人在等待。

您要在php.ini中检查的设置是:

[MySQLi]

; Maximum number of persistent links.  -1 means no limit.
; http://php.net/mysqli.max-persistent
mysqli.max_persistent = -1

; Allow or prevent persistent links.
; http://php.net/mysqli.allow-persistent
mysqli.allow_persistent = On

更改这些可能会改变您所看到的行为。