Назад | Перейти на главную страницу

Как я могу проверить, использует ли мой процесс ElasticSearch сжатые запросы?

Я хотел бы выяснить, нужно ли мне настраивать работающий в настоящий момент кластер ElasticSearch. Как мне проверить, использует ли запущенный процесс HotSpot сжатые сообщения oops или нет?

Вы можете использовать API информации об узлах кластера и проверить using_compressed_ordinary_object_pointers поле в jvm поле.

Например

curl -XGET 'http://localhost:9200/_nodes'

или

curl -XGET 'http://localhost:9200/_nodes/nodeId1'

Или более конкретно:

curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/jvm?pretty'

отклик

...
"jvm" : {
        "pid" : 14520,
        "version" : "1.8.0_121",
        "vm_name" : "OpenJDK 64-Bit Server VM",
        "vm_version" : "25.121-b13",
        "vm_vendor" : "Oracle Corporation",
        "start_time_in_millis" : 1485817021479,
        "mem" : {
          "heap_init_in_bytes" : 5368709120,
          "heap_max_in_bytes" : 5333843968,
          "non_heap_init_in_bytes" : 2555904,
          "non_heap_max_in_bytes" : 0,
          "direct_max_in_bytes" : 5333843968
        },
        "gc_collectors" : [ "ParNew", "ConcurrentMarkSweep" ],
        "memory_pools" : [ "Code Cache", "Metaspace", "Compressed Class Space", "Par Eden Space", "Par Survivor Space", "CMS Old Gen" ],
        "using_compressed_ordinary_object_pointers" : "true"
      },

...

Если вы проверите свои журналы ES, он скажет вам. По крайней мере, с версии 2.2.0.

Он покажет примерно такую ​​строку:

[2015-12-16 13:53:33,417][INFO ][env] [Illyana Rasputin] heap size [989.8mb], compressed ordinary object pointers [true]

Это обрисовано примерно на полпути вниз этот статья, в которой, кстати, есть много полезной информации о размерах памяти ваших экземпляров / узлов ES.