0

我使用狮身人面像搜索引擎,有时当我跑步时

show threads;

我看到一个线程,如下图所示,线程中的“Net_Idle”状态,其“时间”值上升到 100 秒,在某些情况下上升到 500 秒,然后自动消失。

在此处输入图像描述

这个线程是什么,它何时以及为什么运行?

4

1 回答 1

1

这意味着通过 sphinxql 协议有一个开放的连接。如果您同时打开 2 个与您的 searchd 的连接,您可以轻松地重现它,然后在其中任何一个中您都会看到另一个有连接,如果您在那里不做任何事情,则状态将为 net_idle。例如:

Tab 1:
[snikolaev@dev01 ~]$ mysql -P9314 -h0
mysql>

Tab 2:
[snikolaev@dev01 ~]$ mysql -P9314 -h0
mysql> show threads;
+-------+----------+----------+----------+--------------+
| Tid   | Proto    | State    | Time     | Info         |
+-------+----------+----------+----------+--------------+
| 16626 | sphinxql | query    | 0.000001 | show threads |
| 16598 | sphinxql | net_idle | 3.774544 |              |
+-------+----------+----------+----------+--------------+
2 rows in set (0.00 sec)

如果您不知道谁保持连接打开,您可以使用 lsof、netstat 和 ps 或其他执行相同操作的工具来追踪它,例如:

[snikolaev@dev01 ~]$ lsof -p 14267|grep TCP
searchd_o 14267 snikolaev    6u  IPv4 568694105      0t0       TCP *:9314 (LISTEN)
searchd_o 14267 snikolaev   13u  IPv4 568804452      0t0       TCP localhost:9314->localhost:24228 (ESTABLISHED)

[snikolaev@dev01 ~]$ sudo netstat -apn|grep 24228
tcp        0      0 127.0.0.1:9314              127.0.0.1:24228             ESTABLISHED 14267/./searchd_old
tcp        0      0 127.0.0.1:24228             127.0.0.1:9314              ESTABLISHED 28949/mysql

[snikolaev@dev01 ~]$ ps aux|grep 28949
518      28949  0.0  0.0 234088 10596 pts/58   S+   23:49   0:00 mysql -P9314 -h0

在我的情况下,我可以看到连接来自“mysql”,在你的情况下它可能会有所不同。

于 2018-07-05T03:52:59.440 回答