Многопоточность в Solr - PullRequest
       5

Многопоточность в Solr

0 голосов
/ 28 июня 2019

Когда я запускаю solr 5 и выше, он запускается в своем собственном контейнере Jetty, он больше не работает под tomcat.Когда я получаю идентификатор процесса и запускаю top для этого заданного идентификатора процесса, "top -p pid", я вижу, что один поток работает.

Но чтобы узнать, сколько потоков порождается этим одним потоком, если я использую ps huH -p pid , я вижу несколько потоков, связанных с этим родительским pid.Являются ли эти несколько потоков порожденными solr?

Служат ли эти потоки обслуживать запросы / индекс сжатия .... и т. Д.?Если это так, то количество потоков должно уменьшиться, если машина простаивает.

Может кто-нибудь пролить свет на темы solr или указать мне на нужный документ?

Спасибо SR0

1 Ответ

1 голос
/ 28 июня 2019

Вы можете точно увидеть, что делает каждый поток, перейдя на панель «Дамп потока», доступную на странице администрирования Solr:

The location of the Thread dump menu item in the Solr Dashboard, right beneath Java Properties (the sixth item)

Если вы откроете эту страницу, вы получите список всех потоков, работающих внутри JVM Solr, и вы можете развернуть каждый из них, чтобы увидеть трассировку стека для выполняемой им задачи:

List of threads active in an idle Solr installation

Как видно из названий этих потоков (не только этих трех на моем скриншоте), они выполняют множество задач - те, с префиксом qtp - это потоки Jetty, а с префиксом zk несут ответственность за операции Zookeeper. Другие отслеживают запланированные задачи и триггеры, некоторые выполняют поиск, некоторые могут выполнять оптимизацию или принятие, некоторые могут индексировать документы (например, обрабатывать Tika) и т. Д.

Большинство этих потоков хранятся вокруг, так как они реализуют центральную функциональность, которая должна работать постоянно, например, отслеживать изменения из Zookeeper, выполнять поиск по индексу, отслеживать запланированные задачи и т. Д. тоже не очень дорого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...