什么是 net_idle 状态的 sphinx 线程?
what is a sphinx thread with net_idle state?
我使用 sphinx 搜索引擎,有时 运行
show threads;
我看到一个线程如下图所示,线程中 "Net_Idle" 的状态是 "Time" 值上升到 100 秒,在某些情况下上升到 500 秒,然后自动消失。
这个话题是什么,什么时候以及为什么 运行宁?
这意味着有一个通过 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)
如果您不知道是谁 ps 打开了连接,您可以使用 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",在您的情况下可能有所不同。
我使用 sphinx 搜索引擎,有时 运行
show threads;
我看到一个线程如下图所示,线程中 "Net_Idle" 的状态是 "Time" 值上升到 100 秒,在某些情况下上升到 500 秒,然后自动消失。
这个话题是什么,什么时候以及为什么 运行宁?
这意味着有一个通过 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)
如果您不知道是谁 ps 打开了连接,您可以使用 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",在您的情况下可能有所不同。