ααα»αααααΆα αααΎαααααΌααΆαα½α Elasticsearch α ααα»ααααααΎααΆαα’αααΈααΎαα‘αΎααα ααααααα’αααα ααααααΎααΆααΎααααΈαααααΆαα»ααααααα ααα» "αααα»αααα·ααΆαααα αααΎα"? α αΎαααΎααΆααααΆαααΆαααΊα αΆαααααααα»αααΆααα½ααααααααΉαααΆααααΆαααααααααααααααα·ααααααααΆαα½α? ααΎβααααΆααααααααβααααααβααΆβαααβα’αααβαα½αβαααααΎα α αΎαβααΎβα’αααβααΉαβαα½αβαααα αΆβα’αααΈααααβ?
ααΎααα Odnoklassniki ααΆααααααα α α·αααααααΎ elasticsearch ααΎααααΈαααααααΆααααα αΆααααΆαααααααααααααααα ααα» α αΎαα₯α‘αΌααααααΎαα ααααααααααα·αααααααααααΎαααΆαα½α Habrα ααΆααα’αααΈααααΆαααααααα αα·αα’αααΈααααα α
αααα»αααΊ Pyotr Zaitsev αααα»αααααΎααΆαααΆα’αααααααααααααααααααααα Odnoklassniki α αα»αααα αααα»αααααΆα’ααααααααααααααααΆααααα ααααΎααΆαααΆαα½α Manticore Search, Sphinx search, Elasticsearch α αααα ααβααΆβααααα·αβααΎβααΆαβαααααβααβαα½αβαααααβαααβααα βα‘αΎα αααα»αβαααα ααβααΆβααΉαβααααΎβααΆαβααΆαα½αβααΆβααβαααα αααα»αααα αΌααα½ααα αααα»ααααααααααααααΎαα αα αα½αα ααα½ααα ααΎααΌαααααΆααααααααα α·αααα
αα ααααααα»αααααα Odnoklassniki αααα»αααΆααα·ααΆαααααα·ααααα»ααααααααααα α―αααααααΆαααααΆαααα»αα’αΆα ααααΎααΆαααΆαα½α Elasticsearch α αααααΆααβααΈβαααα»αβααα½αβααΆαβααΆαβαααα½αβααΆβα αΎαβααΆαβαααα ααβαα·α αα ααΆαβααΆααααβαα½αβα ααα½α αααα»αβααααΌαβααΆαβαααααβα±ααβααΌαβαα·α αα ααΆαβααβααβαααα»αβααΆαβααααααααβααααααααβαααααααααβαααααα ααα»βαααβααΆαβαα βαααβαααα
αααααΌαααΆα
αααααΌαααΆαααααααααααααΌαααΆααααα αααΌα ααΆααααααα
- Graylog ααΉαααααΌαααααΎααΆαααααααΆααα»αα αααααΆααααααα»αα αα»αααΆααααα·αααααααααΎααααΆααααα·αααααααα½α α αΎα α’αααααααααααααα·ααΈ αα·αα’αααααΆαααααααΆαααΉα ααΆαααΆα αα·αααΆααααα½ααααααΆαααα½αααα
- ααα·ααΆααα·ααααααα ααΆααααα 50-80 ααΆααααΆααααα»ααα½ααα·ααΆααΈ ααα»ααααααααα·αααΎααΆαα’αααΈαα½αααΆα α αααα ααΆα ααααα·αααααΌαααΆαααααααααα’αααΈααααα ααΆα’αΆα ααΆα 2-3 ααΆααααααΆαααααα»ααα½ααα·ααΆααΈ
- αααααΆααα·ααΆααααΆααΆαα½αα’αα·αα·ααα’αααΈαααααΌαααΆααααααΆααααααΏαααααααΎαααΆααααα½αααααααα ααΎαααΆαααΉαααΆααααΌααααααΆααααΆαααααΎααααΆααααααααααααααααααΊα ααα»ααααααα»αααααααααααααα ααα»αααααααα·ααΈαααααα½ααααααααΆααααααααααΈαααααα α»αααααα α αΎααα·αα αααααα αΆαα αααΎαααΆααα½α ααΈααΈααααααΆαααααααααααααα½ααααααΆααααααΎαα
- α’ααααααααααααααΆααααΌα ααΆαααααααααααα’αΆα ααααΎααΆαααααααΆαααΆααααΆαααΆααααα½αααααα·αααΎα αΆαααΆα αααααα·ααααααΌαα±αααα½αααααααααααα±αααααΈααααα α’αααΈαααααααααΆααααΎαααΆαα
- ααΌα αααα ααΆααα·α αα ααααΆααααα½αααααααααααααααααΆαααααααααΌαααΆαααΆαααααΆααααΊααΆαααααΆααααααΌααααααααΉααα½αα ααα½αα
- ααΎαααΈαααααα Odnoklassniki ααΆααααααααΈαα αα αααααααααα’αα½αα ααααΆααααααΆαα½ααααααΎαααΎαααααΎαααΆαααααΌααααα½α αα»αααΈααΆααααΆαααααααααααααααα·αααααα (ααααΆαα αα·αααΆαααααααα»α αα·ααα·αααααΆαααα αααααΆααααΆα)α
αααααΌαααΆαα α»αααααααααα»αααΆαα’αα»αααααααααααααααααΎα±ααααΎαααΆααααα αααΎααααα»α ααααααα»αααΉααα·ααΆααααα’α·ααααααααααα
αααααα»α
ααΎαααααΎααΆααα αααα»αααααααααααα·ααααααα ααα½ααα½α αααααααααααααΆαααα·αααααα Elasticsearch α’αΆα ααΆαααΈααΆαααα ααΈααα»ααααα (αααααΆααα ααα»αααα½αα ααα½αααααα·ααααααΆαα αα ααααα)α
ααααααααααα·ααααααααΆαααα½ααααααΆααααα αα 18 ααΆααααααααααααα ααα»ααααααααααΆ - αααααααΉα α§ααααααααα»α αααΆαααΈααα·αααα·αα
ααααααααααΆααα α
αααααα
αΆααααααΎααα
αααα»ααα»α
αααα»αβαααβαααααααα:
ααΌαααΌα‘αΌα
ααααΌααααα»αααΎαααααααααΌαα αααααααααααΆαααΌα ααΆααααααα
- VIPs 3-4 αα ααΈααααα A-record ααααα Graylog αααααΊααΆα’αΆααααααΆαααααααααα ααα»ααααΌαααΆαααααΎα
- VIP ααΈαα½ααααΊααΆα’ααααααααΆαα»αααααΆα LVS α
- αααααΆααααΈααΆ αααααα ααα»α αΌααα ααΆααααα Graylog αα·αααααααααααααα·ααααα»ααααααα GELF ααααααΆαααααα syslogα
- αααααΆααααα’αααΈαααΆααα’αααααααααΌαααΆααααααααΆααΆα ααααα ααΆαααααααααα’ααααααααααααα½α Elasticsearch α
- α αΎααα½ααααααααΌαααααΎααααα αα·αα’αΆααα ααΆααααααΆαααα·αααααααααααΆαααααααα
ααααα
αααα ααααΆαα·αααααααααααααΆαααααΈααΆαααααααα±ααααΆααααα’α·ααα ααΌα αααααααα»αα ααααααα ααΎααΆααααα·α α
Elasticsearch ααΆαααααΆααααΆα αααΎααααααα - αα α’ααααααααααααα½α ααααΆαααα·ααααααα ααΆαααααααααΈααααααααααααααΆααααΆαααααααααααααα ααα»αααααααααΆ αα·αααΆαααααΆαααααααααΆαα αααααααααααααααΆ ααα»ααααααΎαααΆαααααΎαααααααααααααΆαααΆααααααΈααα»αααααα
α’αα»ααααα·α
ααΆααΆααααααΆααααΆααα’αααααααΆαααααααΆααα
αααα»αα
ααααα αααααΆαααααΈα
ααααααααααΆαααααα αα·αα
ααα
αΆαααΆαααΆαααααΆαα ααααΎαααΆααααααα·ααααΆααααΉαααα·ααΆααα αα·αα’αα»ααααααααααααααααααααΆααααααααΆααααααααΌααΆαααα
αααααα
α’ααααααααααα½α
α’αα»αααααα·α
αα
ααΆααααα½αα ααα½αααααΆαα’αΆα α¬αααααααααΎααΈα’αα·αα·αα αα·ααααααΌαα
ααΆα
ααααααα αααα»αααααΈααΆαααααΎααααα ααΆαα
αααΎαααααααΆααΆααΉααα½αααααΆααΎαααααααΆαα½ααααα·αα·αααααααααΆααααααααααααΆαα½αααααΆααααΆ α αΎαααΉαααααΌααα·αααααΎαααααααααα
ααααΆαααα·αααααα
αααααΆαα»ααα·αααααα α’αα»αααααααα½ααααααααααααααααααΈααΆααααα
αα·αα’αα»ααααααααα·ααααα·ααΆααα
ααΎ shards αααααΆαααΈααΆαααα
ααΎααΆα
αααααα
αααβααΊβααΆβα’αααΈβαα½αβααΌα
βααΆβααΆαβααΆαβαααα
αΌαβααααΆβαα Kibana ααΆαα½α Logstash αααα»αβααα ELKα Graylog αα½ααααα
αΌαααααΆααΆαα UI αα·ααααααααααΎαααΆααααααα ααα»α αα
ααααααααααΆαα Graylog ααααΎαααΆα Kafka αα·α Zookeeper ααααααααααΆααααααΆαααα
Graylog ααΆα
αααααα Graylog α’αΆα
βαα»αβαααααβα ααα» (Kafka) αααα»αβααααΈβααα Elasticsearch αα·αβα’αΆα
βααααΎβααΆα α αΎαβααααΎβααααΎβα’αΆαβαα·αβαααααβαααβαα·αβαααααα ααααΎβααΆβαααα»α αα·αβαααααΆααβαααααβα ααα»βααΆαβα
αααΆααβαααβααΆαβαααααΆααα ααΌα
Logstash ααα Graylog ααΆααα»αααΆαααΎααααΈαααααααα½ααα»ααααααααααα½αααΆαα
Elasticsearch α
ααΎαααΈααα Graylog ααΆαααΆαααααΎαααααΆαααααααααααΆααααααΆαα½α αααα’αα»ααααΆαα±ααααα’ααααΎααααΆαα Elasticsearch αααα’αΆα ααααΎααΆα ααΎααααΈααα½αααΆααααααΈα αααααααΆααααΌα αα·αααααααΆαααααααΆαααΆααααΆαα αααααααΎα±ααααΆα’αΆα ααααΎαα ααΆαααΎααααΈααΉαααΆαααααΎαα ααΆαααα»αααΊαααααΆααααΆααα
ααΆαααααααααΆααΎααα ααΌα αααα
αααααΊααΆααΌαααα’ααααααααΈα§ααΆα αααααΆααααΆαααα½αα αα ααΈαααααΎααααααΎαα’ααΈααααΌααααΆααααααα’ααααΎαααα½αααααααα αα·ααααα αΆααα½ααααααΆαααααααα
ααααααααα
αααααααα ααααΆαααααααααααααααααα·α αααα»αα αααα·ααΆααααα’α·ααααααααααα’αααΈαααααααααΎααααααΎαααααΌαα·αα·αααα ααΎααααΈα±ααααΆααααΎαααΆαααΆαααααΉαααααΌαα
αα αααα»αααααΆααααΆαααΆαααΎ αααααΊααΆααααα·αααΆααααα»αα ααααΆαααα·αααααα Elasticsearch α
αααααααααααΊααΆα’αααααΆααα·αααα·ααααααα½αααααααααΎαα‘αΎαααα Elasticsearch shards α αα αααα»ααααα½αααΆ, shards ααΈαα½ααααΊααααΆαα’αααΈαααα ααΈααααααααα Lucene ααα α αΎαααααααααα Lucene ααΈαα½ααααΆαααααααα½α α¬α αααΎαα
αα ααααα ααΆ ααΎαααΆααα·αααΆ ααΎααααΈααααααααααΌαααΆααααααΆααααααΏαα’αΆααα·αααααααααα»αααα·ααΆαααα αααΎα ααΎαααααΌα "ααΈαααΆαααΆα" αα·αααααααααα±ααααααΎαααααΆαα ααΎααααΆαααα·ααααααα
ααααααααΆαα±ααααΆααα·ααααααΆα ααα½α shards αααα»ααα½ααα·αα·αααα (ααΆαα½αααΆαα αααα) αα½αααααααΎαααΆαααΉαααΉααα ααΉαα ααα½αααααΆαααα·ααααααα ααΈαα½α ααΎααααΈααΆααΆααΆαααΌααααααΆα ααααααααΎααΉαααΈα (αααααΊααΎαα’αΆα ααΆαααααααΆαααααααΆαααα ααααα)α α αΎαααΈααΈα ααΎααααΈααααΎαααΆαααΆαα’αΆα αα·ααααααααααΎαα ααΎαααΆαα αα ααΆααααΆαααααααΆαααα αααααα
ααααΌαβααΎαβαααααβααααααβαααα»αβααΆ 30 ααααα
ααΆαα ααα αΆααα shards α’αΆα ααααΌαααΆαααααΆαααΆααααΆα ααα·αααΌα ααΆαααααα:
α αα»ααααααααααααααααααΉαααΆααααΌαααΊααΆαα·αα·ααααα ααΆαααβαααα αβααΆαβαααααβαα βαααα»αβααΆβααΊβααΆ shard ααα αααβααΆβααΈαα½αβαααα»αβαα·αα·ααααα α αΎαααΆαααααααααααΊααΆαααααα αααα αα½αααααΆαααΈααΆαααα ααααααααααα·ααααααααααααααααΆα
αα ααααααααΎααααααα shard αα½ααααααααα ααΆαα ααααααααααα·ααααααααΈααΈα α αΎααα ααΈαααα αα ααΎαααα½αααΆααα ααΆααααααααααα αααααααΎα±ααααΆα’αΆα ααΆααααα DC ααααα·αααΆαααααααΆααααΈαααααΆααααααΆαααα·ααααααα
ααΆαααααα·αααααααααα, i.e. αααααΎααα·αα·ααααααααΈ α αΎααα»ααααα αΆαααααα»α ααΎαααΆαααααΎα±ααααΆααααΎααΉα 48 αααα (ααααα ααΆαααααΌααααΆαααααΎααααΆαααα·αα·ααααα 48 ααααα α»ααααααααααΌαααΆααααααααααΉαααΆαααααα»α)α
α ααααααααααααα·αααααααααααααααΊαααααΆαα ααα»ααααΌα ααΆααααααα
αα ααααααααααΎααααααααααααααααΆαααα·ααααααααΆααααΆαααα½α αααααΆααααααΆαααααααααααΆαα’αα»αααα ααΆααΆαααα ααααα αααΎαααΆααα αααααα shard αα½αααααΌαααΆααα½α ααααα·αααΎααα αααααααΆα’αΆα αααααααααα ααΉαααα ααααααααΆαααααααααΆααα αααα’αα»ααααΆαα±ααα’ααααααααΆααααα "αααα " αααα·αα·αααααα αααα»αααααα»α α αΎαα αΌαααααΎααΆαααΆααα ααα αα ααααααααΆα "ααααααααα " ααΆα αααΎα ααααΏαααααΆαααααααααα·αα·ααααααααΆααα α»αα
αα ααααααααααΆααα αΆααααααΎαααααΎαααΆααααα½αααααααααα ααΎ shard αα½α ααΆαααα ααα ααα½ααα threads ααααΎααΉαα ααα½ααα hyperthreading cores αααααΆαααΈαααΌαααααα ααααα·αααΎαααα½αααααααααααααΆαααααα ααα½αααα αααΎααα shards αααα ααα½ααααααααααα‘αΆαααΎαα‘αΎαααΆααααΆααΆαααα αααααα₯αααα·ααα’αα·αααααΆαααΎααααΏαααααααα αα·αααα₯αααα·ααα’αα·αααααΆααααααΆαααααΎαα·αα·αααααααα·ααααααααααΈα
ααΎααααΈαααααααΆαααΊααααΆααααα»αααΆαααααααα ααΎαααΆααααααα α α·αααααααΎ SSDα ααΎααααΈααααΎαααΆαααααΎααΆαααΆαααα αα αααΆαααΈαααααααα»ααα»αααΆαααααααααΌαααααΆααααΆαα αα ααΆαα 56 ααααΌαα αα½ααα 56 ααααΌαααΆαααααΎαααΎαααΆααααααααααααααΆααααΆαααααααααααααααααα ααα½ααααααααα‘αΆαααα Elasticsearch ααΉααααααΎαααα‘α»αααααα·ααααα·ααΆαα αα αααα»α Elasitcsearch αααΆαααΆααααααααααααα»ααααααααα‘αΆαααΆα αααΎαα’αΆααααααααααααΆαααα ααΎα ααα½αααααΌααααααΆα αααααα₯αααα·αααααααααΆαααα ααΎα ααα½αααααΆαααααααααΌαααΆααα αααα»αα αααααααααα ααΆααααααΆααα "ααααΌααα·α ααΆα - ααααΆααααΆααααα αααΎα" α
ααΆαααααα ααΎαααΆαααααΎαααΆααΆααααα shard αα½αααΆααααααααααα αα 20 ααΈα αααΆαα α αΎαααΆα 1 shards αααα»ααα½ααα·αα·ααααα ααΌα ααααα αΎα ααααα·αααΎααΎαααααα·ααα½αααΆαααααααααΆαα 360 αααα αααααΎαααΆα 48 αααα»αα αααααα½αααα αααααααααααΈαα½ααααΆααα·αααααααααααα 15 ααααα
ααααααΈα’αΆααα·αααααααα·αααααα
α αΌαααΎαααααααααααΈααααααααα·ααααααααααΌαααΆααααααααΆαα αααα»ααααααααααααα
α αΌααα·ααΆαααΆααααΎαα½αα ααα½αααΆααααααααΈ Graylog αα ααΆααα’ααααααααααααα½αα α§ααΆα αααααΎαα ααααΆααααααααααα 2-3 ααΆαααα½αα
α’ααααααααααααα½ααααααΆαααα½αααααΎααΈ Graylog αα½αααααΆ "αα αααα»αααααΎαα»αααααΎαα·αα·αααα ααΎαααΆααααααΆαααααΆαααΆααααΆααααΌααα·αα·αααα ααα»αααααααα»αα’αααΈααααα·ααΆααααααααΆαα·αααααΌαααΆααααααΆααααα"
ααααααΎαααα "αααααααααααΆαααααα ααα shard 71" αααααΆααααΈαααααΆααααΌαααΆαααααΎαααααααΆαααα ααααΆαααα·αααααααααααΆααααααα ααααααααα-shard ααα 71 αααα·ααα α
αααααΆααααΈααααααααα ααα»ααααα·ααααα·ααΆαααααΌαααΆαα αααααα replica-shard αααααΆαααΈααΆαααα ααααααααααα·ααααααααααααααα
ααααΎααααααααααααααΈ Graylog αα ααΆααα’ααααααααααααα½αα α’ααααααααααααα½αααααααααΆαα ααΆαααααααααα ααααααααα Elasticsearch α ααα αΆαααααΎαααΆα primary-shard αα·α replica-shard αααααααΎαααααΆααα round-robin α
ααααΆαα 180 ααααΎααααα·αααααΎααααΆ α αΎαααααααααααα½ααααααα»αααααΎααα α’ααααααααααααα½ααααα»ααααααΌαααααααΆααααααααΌαααΆα "αααααα αα" αα½α α αΎααααααααΆαααα·ααααααααΏαααΆααα»αα αααααΆααααΈααα αα ααααααααααααΆαααΆααα’ααααΆαααααα α¬ααααΎααΆαααααααααααα ααΆαααααα’αααΈαααααααααΆααααααααΆαααααα’αα·αα·ααα
ααααααααααΆααααΌααααααΆαααααααααΎαααΆααααα½αααααααααααα»ααααααα 48 ααααα α»αααααααααα»ααααααα 300-400ms ααααα·αααΆαααααα αΌααααα½αααΆααααααααααΆαα’αααααααα½αααΆααα»αα
ααααΆααΆαα½α Elasticsearchα ααΆααααα α Java
ααΎααααΈααααΎα±ααααΆααααΎαααΆαααΆααα’ααααΌα αααααΎαα ααααΆα ααΎαααΆαα αααΆααααααΌαααΆαααααα»αααΆαααααΆααααα α»αααΆα αααΎααα αααα»αα αααααα
αααααααααΌααααααα αΆαααααΆαααααΎαααΊααΆαααααα ααΉααα·ααΈααα Java ααααΌαααΆααααααααΆαα»αααΆαααααΆαααΎααα αααα»α Elasticsearch α
αααα αΆαα½αα
ααΎαααΆαααΎααααΆαααΆααααα½αα
ααα½ααααααααΆαα
ααααα·α Lucene αα
ααααααααΆαααΆαααααααΆαααααααααα»αααααΎαααΆα ααααα Lucene αααα
αΌαααααΆααΆααααΆααααααααΆαααα α»αα αααα»ααααααΆαα½αααααΆααα ααΆα
αααΆααααΆαααα
αααα»ααααααα ααα»ααΆαααααΊααΆααα α»α OutOfMemoryError α ααΎαααΆαααΎαααΆαααα‘αααααααααΆαααααΆαααααα α αΎαααΆαα·αα
αααΆααααΆα ααα»α’αααΈααΆαααΆααααα·ααααα·ααΆαααααααΆαααα
ααΆααΆαααααααααΆαααΆααΆααααα αΌαααααΆααααααααααα Lucene ααΎαα‘αΎααα ααΆααααα αααααΆαα α αΎααα»αααΊαααααααΌαααΆαααααααααΆαααΉααααΉαα ααααααααΆααααααααΎααααΆααα ααΆααα heap ααα»ααααααααα’αΆα ααααΉαααααΆαααΆααααα (ααααα heap.size ααΊαααα ααααααΎααΉα RAM) α αΎαααααα·ααααα·ααΆααααα heap αα½αα ααα½αααΆαααΆααααΆαα½αααΉαααα α»ααααα»αααΆααααα ααα’αααα αα αΆα ααααα·αααΎαααααΆααα ααα»αααα½αα ααα½α αα½αααΆαα·αααααΉα ~ 500MB ααααα αα»αααααααααα
ααΆααα½ααα»ααααααΊααΌα ααΆα ααΆααα α ααα½α RAM αααααΆααααααΆαααα»αααΊαααααααΌαααΆαααΎαα‘αΎα αααααΆααααΈαααααΎαααααα ααΆααΎαααΆααααα αΆααααααα
αααα αΆβααΈβααΈα
4-5 αααααααααΆααααΈααΆαααΎαααααΎαααΆαααα
ααααα ααΎαααααααααΎαααΆααααΆαααα·ααααααα
αΆααααααΎαα
ααααΈα
αααααααΆαααααΆαα α αΎααααα
αΌαααΆαααααΆααααΈ 10-20 αα·ααΆααΈα
αα ααααααααΎαα αΆααααααΎααααααααα ααΆααΆαααααααααΆαααΆα’αααα αα αΆαααααα·ααα αααα»α Elasticsearch αα·αααααΌαααΆααααααααααααΆααααααααΆαααΆαα½αα‘αΎαα αα ααααααααΎααααααα’αααα αα αΆαααααααααααα»αααΊααα ααΎαα’αΆα αααααααααα»αααααααα’αΆαααααααααααΆααααΆαα½αααΉαααααααΆααααααα α αΎαααΆααααΌαααΆαααααααααααααΆααααΈ GC α αααΆααααΆααααααΌαααΆαα αΆααααααΎαααΈ Elasticsearch α
αααα»αααααΈαααα ααααα·ααααα·ααΆααααα
αααΆααααααΌαααΆαα α αΎααααα»αα’αα‘α»ααααααα α
αααααααΆααααααααααααΎααααΈαααααΆααααααΆαααααααΆααΆαα
αααα½α
α αΎαα αααα αΆαααααααΌαααΆααα·αααααΆαααΆαααα’
αααααααααΆαααΆαααΌα ααΆααααααα ααΎαααΆαααααααααααααΆααααα Java αααα»αααΆαααααΎα’αααα αα αΆαααΆαα αααΎααα ααΆααααα ααααΆαααααααΆααααααα·ααααα·ααΆαααΆαααααα ααΎαααΆααααααααΆααααΉα 16 ααΈα αααΆαα (-XX:MaxDirectMemorySize=16g) αααααΆααΆααΆ GC α αααΆααααΆααααααΌαααΆαα α ααΉαααΆααααΆα αα·αααααΎαααΆαααΏαααΆααα»α ααΌα ααααααΆαααααααΎα±ααα αααααααΆαα’αααα·αααΆααααα αΎαα
αααα αΆααΈ
ααααα·αααΎα’ααααα·αααΆαααα αΆααΆαα½α "ααααΆααα
αΆαα
ααααΈα
ααααααα
αααααααα·αααΉαααααΆαααααααα»α" ααααΌαααΆααααα
αα αααα’αααααααα»αα αΎαα
αα
αααααΎαααααααα
ααΆααααααααααΆαααΆαααΆαα½ααα·αα·αααα ααΎαααΆαααααΎαααΎα mmapfs αα
ααΎααααΈαααα
αΆααα₯αα·ααΆααααα ααααΌαααΎαααααΌααα
niofs αααααααΆα α αΎααααααΆαααα αα
ααααααααΎαααααΆααααααΌαααΈ Elastic ααααΆααααΈ 5 αααααΈ 6 ααΎαααΆαααΆααααα hybridfs ααααααα αΆααααα·αααααΌαααΆααααααΎαα‘αΎααα·αααα α’αααα’αΆα
α’αΆαααααααα’αααΈααααααααΆααααα»α
αααα αΆααΈαα½α
αααααΆααααααΆααααα αΆαα½αα±ααα
αΆααα’αΆαααααααα½αααααααααΎαααΆαααααΆααΆααααα»αααααααααααααα½αα ααΎαα
αΆααααΆααΆααααααα 2-3 αα ααΈαααααααααΆαααααααΆαα·αα’αΆα
αααααΆαα
αααααααα’ααααααααααααα½αααααααΎαααΆααα Full GC ααΆααααααΆααααααααααααΆααααΈα’αΆα αΆαααααααααα α αΎααα·ααααααααααααΈααΈαααααα αα αααααααΆαααααΆαα αααα αΌαααΆααααααΆαααα GC ααΆααΎααα ααΌα ααα: α’αααΈαααααΎαααΆαααα’ ααα’ ααα’ α αΎαααααΆαααααα’αααΈαααΉαα’αΆαααααααΆααα
ααααΌαβα‘αΎα ααΎαβαα·αβααΆβααΎαβααΆαβα’αααβααααΎβα’αΆαααααβαααβαααα»αβααΎαβααααΎβααααααβαα½αβα ααα½αβαααβααααΎβα²ααβα’αααβαααααβααααα½αβα ααβααΈβααααβααααΎααΆαα ααΎαααΆααααααααΆααααΎα’ααααααααααΆααΌαααΆααααα αΎα αααααααΆααΆαααααααααααΆααΆαα’αααΈααΎαα‘αΎαα
ααΆαααααα ααΆααΆαααααααααΆαααΆ αα αααα’αααααααΎααααΆααα αΆααααααΎαααααΎαααααα½α α αΎαααΆαα αααα’ααααααααααααα½α Elasticsearch ααΆααααΆαα ααααΆαααα½αα ααα½αααααΎαααααΌαααΆαα’ααααααα
α αΎααααααααααα’ααααααααααααα½ααααα»ααααα αΆαααΆαααααΎαααααΈααααΆααααΆααα’αα ααΆαααααααΌααααααααααααΆαααααΎααΈααααΆαααααααΆαααααΎααααα½α α αΎαα αααααΆαα GC αααααΆααααααΆααααααααααΆαααααΎααααΆαα heap ααααααΎαααααΆααααααΌααααΆαααΆαααα ααα α αΎα GC αααααΎαααααΆααααααΎαα·αα’αΆα ααααααααΉααα·α αα ααΆααααααΆαααα
ααΆααα½ααα»ααααα½αααααααααΎαααΆαααααΎαααΎααααΈααααΆααααααΌαα₯αα·ααΆααααααα ααααααααα»αααααΆαααΆααααααΊααΆαααααΎα αααΆααααα»ααα JDK13 αα·αααΆαααααΎααααΆααα’ααααααααΌαααααΆα Shenandoah α αααααΆααααααααΆααααα αΆα’ααααααααααααα½αααααααΎααααααααΆααα α»αα
αααααΊααΆααααααααααααα αΆααΆαα½α Java ααΆααααα αα α αΎααααα αΆααααα·ααααααΌαααΆαα αΆααααααΎαα
"αααααααΊααΈ" ααΆαα½α Elasticsearch: ααααααΆαα
αααα αΆααΆαα½αααΆααααααΌααα·ααααααααΆααααααΆ α αααααααααααΎαααααΎαααΆααααααααααααα·αααΆα ααα»αααααα ααααα·αααααααααα»αααα ααα½αα―αααΆααααααΆαααααΎαα·αα·αααα αα·αα’αα‘α»ααααααααΎαααα»ααα ααααα·ααααα·ααΆαααΊαα·ααααααααααΆααααα
ααααααααΆααααΌααααααΆααα½ααααααα αααα»αα’αα‘α»αααα "ααΆααααα»α" αα½αα ααα½ααα αααα»αααα·ααααα αα αααααααααααα ααα»αα½αα ααα½αααααααΌαααΆααααααΎαααααΆαα ααα α»ααααα»αααΆαααααΎαα·αα·αααα es_rejected_execution α αΆααααααΎααααα αΆαααΆααΉαααΆαααα αααα»α Graylog α
αααααΊαααααΆαααααΆααα·ααααααΆ thread_pool.write.queue αα
ααΎααααΆαααα·αααααααα½α αα αΌαααααααααα Elasticsearch α’αΆα
ααααΎαααΆαααααΎααααααΎααα·αα·αααα αα·ααααα ααααααααΆααα
shard αα
ααΎααΆα ααΊα’αΆα
αααα»αααααΎααΆααα 200 ααα»αααααααΆαααααΆαααΎαα α αΎααα
αααα»α
ααΆααΆααα·αααΆαα ααΎαααΆααα αααααααααααααα α αΎαααΆαααααΎαααΌα ααΆααααααα ααΆαα·ααα αα αααα»αααΆααααα αααααααΎα ααααΎαα αΌαααα 300 ααααΌαααΆααα»ααααα»αααααΆαααααααΆαααααΆαααα’ α αΎααααααααΆαααααααααααΊααΆαααΆαααααα·α ααααα·αααΆαα½αααΉαααΆααα·ααααααΆααΎαα ααα αΎααα ααΆαα Full GC αααααααα
ααΎαααΈααα αααααΆαααΆαααααααΆααααα»αααααΆααααααααααααα»αααααΎαα½α ααΆα αΆαααΆα ααααα»αααΆααααααα Graylog ααΎααααΈα±ααααΆααααααα·αααΉαααΆαα αα·αααΆααΆα αααΌα α ααα»ααααααΆααΆα ααα α¬αααααααααΆαα 3 αα·ααΆααΈ ααααα·αααΎααΆα ααα αααα·αααααααα αααα»αααααΈααα ααΆααααααΆααααααΆααααααΎαααααααααα»α Elasticsearch α’αΆα ααααΆααα·αααααααα»αααααααααΈααα·ααΆααΈααααα ααα»ααααααΆααααΆα (αααααΆαααααΉαααΎαααααΆαα) ααα»ααααα ααα½αααααΆααααααααααααΌαααααΎααΎααααΈαα»αα αααΆαα±ααααΆααααααα ααααα»αααααααΆαααααΌαααΆαααΆαααααααα
αααααΆαααΆααααααΆααααΆαα·ααααα αααα»αααααΆααΆααααα αα ααααααααΆαα’αααΈαα½αααΆαααΆαααα ααααααααΆαα½α α αΎαααΆαααΆααααααΆαααΉααααααΆαα’αααΈααΆ ααΎααααΈαα»αα±ααααΆαααΆαααααΆαααΆαααααα»αααΈ Elastic α αΎααααααΆααααΈααααααα - ααααΆαα Graylog ααααα·αα’αΆα ααααΎαααΆαααΆααααααΆαααααΆαααααααα·ααααααα’αΆααααα
ααΎαααΈαααααα αα ααααααααΎαααΆαααΆααααα»αααΌα ααααΆααααα αααα»αααα·ααααα ααΎαααΆαααα½αααΆαααα’αΌαααα’ααααΈα’αααααααααααααα·ααΈ αα·αα’αααααΆαααααα αα ααααα½ααααα·αααΆααααΌαααΆααααααα ααα»ααΆααααα αα½αααααααΌαααΆααααααα±αααα½αααααΊαααΆααα
αα½αααβααΆαβα αΆααβααααΎαβαααααβαααα αα ααΎααααααΆα ααΆα αααΆααααΆααααΆααΆαααααα½αααααααα αα·ααααα½αααααΎαα·αα·ααααααααΌαααΆαααααΎαααΆα ααΆααααΆαααα ααΎαααΆαααΈαααΌαααααααΌα ααααΆ α αΎααα·ααΈαα½αα¬ααααααααααΉαααΆαααΆααααα½αα ααα½αα
ααα»αααααααα’αΆα αααααΆααααααααααααααΆαααααΆααα·ααααααΆαα αααα»αααααααΈααααΆααα½ααα Elasticsearch αααα½ααααααααΆααα½αααΆαααα α‘αΎααααα’αα»ααααΆαα±ααα’αααα ααα αΆααααα½ααααΆαααααΆαααα·αααααααααααΆααααααααα·αααααα ααΆααααααΆααααα»ααα·ααα»αα ααααα (αα»αααΊααααααααααΎαα·αα·αααααα·ααααα»αααα -shard α’αΆα ααααααααΆαα ααΆααΉααα·αααΆααα·ααΈααΎααααΈααααΎααααα αααα) ααα»ααααααΎααααΈαααααΌαααααΎααααα ααΆαααα»αααΊαααααααα·αααΌααααα»αααΆαα½αααΉα replica-shard αααααΉαααααΎαααααΆααααααΏαα αα αααα»αααΆααααααααααα ααΎαααΆαααααα use_adaptive_replica_selection: trueα
ααΌαααΆαααααΆαα’αΆαα αΆααααααΎαααΎααα ααΌα αααα
ααΆαααααΆααααααΌααα αααα½ααααααααΆααααααΆαααααΎα±ααααΆα’αΆα ααααΎαα ααΆαααΎααααΈαααααα’αααααααΆαααα½ααα αααα»ααααααααΆααΆααααααα ααααααααΎαααΆαααα αΌααααααααααα ααα»ααΎααααΈαααααα
ααΈαααα»ααααα αΆα ααααααΊααΆαααααα αααααααααΆαααΆαααΊα αΆααααααααααααααα·ααααααα
α’αααΈαααααΎαα ααααΆαααΈα αααααααααΆαααααααΆααααΈααΆαααααααΆααααααΆααααΆαα½α DC αα½αα
- ααααα·αααΎααΎαααΆααααα αα α»αααααααα αααα»αααααααααααα·ααααααααααααΆααα αααααΆααΉαααααΌαααΆαααααΎαααΎαα‘αΎααα·α αα·αααααΆααααΈααΆαα½ααΆααΈαα½ααα ααΆαα node αααααααααα αααα»α DC ααααααααα
- ααααΉααα»αααααΆααααααα·αα’αΆα α αΌαααααΎαααΆαααΆααα’ααα ααααΈα αααααααΆααααΆαααΏαα
- αααααα’ααααΎα’αααΈααααα αααααα ααΆααααΉααααα αα αααα»αααααααααααα·αααααααααααΆααααααααααΎαααΆα αα·ααααααααααΆααααααααα ααΆααααΉαααααααααααΆα shards α αααααααααααααΆαααΆαααα αααα αααα»αααααααααααα·ααααααααααα ααα α αΎαααΎαααΉαααααααααΎαα·αα·αααααα·ααααααα
- ααΆαααααα ααΆαααααα αα·αααΆαα’αΆαααααα αααααααΉαααα α»αααααα·α ααααα ααα»ααααααΆααΌαα α’αααΈαααΉαααααΎαααΆα αααααΈααΆααΊα ααα»ααααααΆααααααααΆαα
ααΌα αααααΆααΆαααααααααΆαααΎαα ααααΆαα’αααΈαα½αααΌα ααα:
α αΎαααΎαααα½αααΆαααΌα ααΆααααααα
ααΎααΏααααααΎαα‘αΎααααααααααΆ?
αα ααααααααααααααααα·ααααααααααΆααα α»α ααααααααΎαααΆαααααΆαααΆα’αααααΆααΆααα
α ααα»α’αααΈ?
ααΆααα·αααΊααΆααααΆα TaskBatcher αααααα½ααα»αααααΌααααα»αααΆαα ααα αΆααα·α αα ααΆα αα·αααααΉαααα·ααΆααααα½αα ααα½ααα αααα»αα αααααα ααΆαα ααααααΆααααΆαα½α ααΆαααααααααααΆαααΆαα½ααα shard ααΈααΆαα αααααα ααα αα·α αα ααΆαααΆαα½αααΎααααΈαααααΎα shard αα ααααααααΆαα½α - ααΆααα’ααααααα αα»ααααα ααΆαα TaskBatcher αααααΆαααααααααααΆααααΌαααΆαααααΎαααΆαααΆαααααααααΆαα αα·ααα αααα»ααααααααα‘αΆααα½αα
αα αααααααααααααααα·αααααααα½α ααΆααΆαααααααααΆαααΆααααΆαααα·ααααααααΆααα’αααα αααα»αααααααααααα·ααααααααααα αααααΆαα αΆαααα»αααΆααΆααΆααΆαααααα·α αα αααααα½ααααααα»αααΆαααΌαααααΉααααααααΆ "ααΎαααΆαααΆαααααα§αααααααΆααααα αα·αααααΆαααα·ααααααααααααα"
αααα»ααααααΆαα½αααααΆααα ααααΆαααα·ααααααααααα αααααΆααααααΌαααααααΆαααΆααα’ααααααα αααα αα α»αααααα α αΎαααααΆααΆααααα αΆαααΆααααααΆααααΆααΆααααα½αααααΆα αα½ααααα·ααααα αΆαααΏαααααα αααααα α α αααΆαααΆαααα½ααα·α αα ααΆαααΏαααΆαααΆααα’αΆα ααααΎαααΆαα ααααΆααααΆαα’αααααα’αααααααααΎαααααα α αΎααααα αααααααα·αααΆαααααΆααΆαααααΎααα½ααααα ααα»ααααααααΌαααΆαααααΌαααααΆαααααα»ααααα»ααα·α αα ααΆαααααααααααΎααΆαα’αΆαα·ααΆαα
αα αααα»αααααααααααΆααΈα ααΆααΆαααααααααΆαααΆααααΆαααα·ααααααααΆα spam αααααα ααα»α αααααΆα αΌααα αααα»α GC ααααααα αααααΆααααΈααα αα½ααΆααΈααααααααΎαααΆαααααΆααααααΌααα ααααΆαααααααΆαααα½αα ααα½α ααααα·αααΆααΏααααααααααΆαααΎαα‘αΎαα ααααααΆ α αΎαααΆαααααα α αααααααΆααα½ααααααΆαααααα»αα
ααΎαααΆαααααΎααΆαααΆααααα α αΎααα»ααααα 6.4.0 αααααΆααααΌαααΆααα½ααα»α ααΆαααααααααΆαααααααΆααααΎααααα»ααααααααΆαααααΆαααα ααααααΆαααα·ααααααα ααα½α 10 αααα»αα αααα 360 ααΎααααΈαα·αα αααααααΆαααααα»αα
ααΆααΎααα ααΌα αααα
αααααΆααααΈαααα 6.4.0 αααααα α»αααα’αΆααααααααααααΌαααΆααα½ααα»α ααααΆαααα·ααααααααααααααΆααααα ααα»ααααααΆαα·αααΆαααααΎα±ααααΆαα "ααααΆαααΆα" α§ααΆα αααα αα ααααααααΎααααα ααααααΆαααα·αααααα 2, 3 α¬ 10 (αααααΆαα½ααααα ααΈαα½α) ααααα½αααΆαααΆαααααΌααα½αα ααα½αααααα·ααΆαααΆ node A ααΆαα αΆαα αα α αΎαααααΆααΆαααααΆαα node B, node C α’αααΈααΆ, node D α
α αΎααα αααααα ααΆα’αΆα αααααααΆαααΆααααααααΆαααααααααααααΆαααααΆααααΆαααααΆααΆαααααΆααααααΆααααΆααα’αααΈα’αααΈαα½α ααααΎααΉααααα αα 20-30 αα·ααΆααΈ α αΎαααΌα αααααααααααααααααΏαααααααααααααα·αααααααααααααΆααααΈα ααααΈα αααααα
ααΆαααααΆααα αααααααΉααααααΌαααΆααααααααΌαααΆααααα αΆαααααΌαα ααααααα·αααα α»αααααααααααΆααααααα½ααααααααα ααα»ααααααΆααααααααα "αα·ααααΆααΆααααααα»ααα" αααααΊααΆααα α»αα αααααΆααα·ααΈαααααααΌαααΆααα½ααα»αααααααααααααα’αααα’αα·αααααααα αααα»ααααα 7.2 α
ααΆαααααα ααα αα ααααααααααΆαααα·ααααααααΆααααΆαααα½αααΆαα αααα ααΆααΆαααααααααΆαααΆααΆαααααααααααΆαααααααΆαα’αααΈααΆαα αΆαα ααααααααΆααΆαααΆααααααΆααααΆαααΆαααααΆααα αααααααΆααααΌαααΆααΆααααααααααΆααααααααααα ααΎααΆ (ααΎααααΈααααααααααΆαααΆαα αααα-shard αα αααα»ααα·αααααααααααααα αααααΆααα α ααααααΆα α αΎαααααααΆαα’αΆα ααααΌαααΆαααααααα ααΎαα½αααΆ)α
ααΌα
ααααα αΎα αα
ααααααα’αααΈαααΆααα’ααααΆαααΆααα’ααα αΎα ααααΆαααα·αααααααααααΆαα
ααααααΆααα·αααααΌαααΆααααααΆααααααΆααααΆααΆααααΆαααααααα ααΌα
ααααα αΎα ααΎααααααα
α·ααααααα
αΆααα αΌαααα ping ααΆααα’ααα’ααααααααααΆααααααΆαααα·αααααααααααΆαα
ααααααΆα α αΎααααααΆααααΈαααα
αααααααααααΎαα
αΆααααααΎαααααΆααααΎαααΆαα
ααΈααα ααΈααα α αΎααα
ααΈααα ααΎαααααΌαααααααΆααααααααΆααααααΆαα α’αααα’αΆα
α’αΆαααααααα’αααΈααΏαααα
ααΆαααααα ααααα·ααααα·ααΆαααααααααααααα·ααααααααααααα α αααΆαααααααα αα 5 ααΆααΈαααα»ααααααααααΆααα αααααΆαα colossus αααα αα·αα ααααΌαα ααααααααααα αααααΊααΆααααααααα’ααΆααα
ααΆααααααααΎαααΆααααααΆααααααα α α·αααααΌα ααΆααααααα
- ααΎαααΆαααααΆαααα·αααααα 360 αααααΆαααΆα 700 ααΈα αααΆααα
- α’ααααααααααα½αα ααα½α 60 ααΆαααααααΆαααααααααααΌαα ααΆα αααΆααααααααΆαααα·ααααααααΌα ααααΆααΆαααααα
- α α α αααΆαααΆαα ααα½α 40 αααααΎαααΆααααααααα»αααΆαααααα½αααααααα αΆααααΆααααΈαααααα»α 6.4.0 - ααΎααααΈαααααΆαααΈααΆαααααααααααααα·αααααα ααΎαααααΌαααΆααααα αααααΌαα α·αααααΎααααΈααΆααααααααΆαααΈαααΆα αααΎα ααΎααααΈααΆααΆα±ααααΆαααΌααα»αα α α αααΆαααΆαααΌααααΈαααα αααα»α ααααΆααΈαααΌααααΈα’αΆααααααααα»αα
- ααΆαααα»ααααααΆαα½αααΎααααΈαααα αΌαααααΆααΌααα½ααΆααΈαα ααΎαα»αααΊααααα½αααααΌαααΆαααααααααααΆααα·ααααααΆαα·αααΌααα·αααΆααααααΆααααΉαααΌα αα αααααααααα»αα
- α αααααααΆααααΌαααααΎ heap.size αα 31 ααΈα αααΆααα ααΆαααα»ααααααΆααα’ααααΎααααΈααΆαααααααααα αααΆααααααΆαα±ααααΆαααΆααααααΆααααααΆαααα½αα ααα½ααα ααΎαααα½αααααααααααααααααΆαα½αααΉααα½α’αααααααα½αααΆααα»α α¬ααα½αααΆαα§ααααααααααααααααΈαα αααα»α Elasticsearch αααα½αα―αα
- ααΎαααΈαααααα ααΎααααΈααΆααΆααΆαααΌαααααΎαααΆαααααααα ααΎαααΆαααααΆααΆααααααΆα ααα½αααααα»αα αααα»αα αααααα±ααααΌα ααΆααααα’αΆα ααααΎααΆα ααΎααααΈααααΎαααΆαααααΉαααα·ααΆααααα·α αα½α ααΆααααα’αΆα ααααΎαα ααΆααα αααα»ααααα αΆααΆααααΆαααααααΎαααα½αααΆααα αααα»αααα
ααΈαααα»αα’αααΈααΆααααα½ααα·αα·ααα
ααΎααααΈααΆααΆααΆααΆααα’αααααααααΎαααΆαααΌα αααα ααΎαααΆαααΆαααΌα ααΆααααααα
- ααααΆαααα·ααααααααΈαα½ααααΆαααΆααααα Cloud ααααααΎαααΆααΆααΆα α αΎαααΆααα»αααΌα ααααααααα ααΎααΆα αα ααααααααΎαααααααα’αααΈαα½ααα ααααααααΆαα½α α αααααααΆαααΆααααααααΆααααΈ 2-3 αα·ααΆααΈααΆαα αααααΆα A ααΎαααΆαααααααααααΆαα 2, 3 αα·α 4 - αααααΆααααααΆαα αααα»αααααααααααα·ααααααααααααααααΎααα·ααααα·ααααααααΆααααααααΆα’αΆα ααααααααααΆααααΆααααααααααΆααααα½α shard ααΆαααα αααααα
- αααααΉαααΈααααααααα’αΆαααααα·αα·ααΆααααα α α αααΆα ααΎααα·αα·αααααΎααααΆαααα α·ααααα»αααΆααααΎα ααα½ααα·α αα ααΆαααααα·αααΆαααααααα α ααΈαααααααΌααααΈαααα·α αα ααΆααααααΆααααΆαααα½αααααα ααααα·αααΎααΆαα·αα’αααααααΆααααααα ααααΉααααΈαα αααα»αααααΆαααΆαα’αΆαααααα½αα ααα½αα’αΆα ααααΆαααΆα ααα»αααααα§ααΆα ααα ααΆαααααααααααΆααα shard α αααααα αααα»αααααα·αααααΎαααΆα αααααΆααΌαα ααα»αααααΆααααααΎααα·αα·ααααααΉααααααααΎαααΆαα
- ααΎααααα·αα·αααααΎααααΆααα·αααααααααα ααααααΆααααααΆααααα’ααααααααΌαααααΆα ααΈαααααααΎαααΆαααΆαααααΆααααΆαααααΆααααΆαα½ααααα αΆααααα½α α αΎα α’αα‘α»αααααααααΎαααααα·αααααΆαα
- α αααΆαβα ααβααΆαβααααβααΎααααΈβαααβααΆαα»αβααΈβααααααβαααβααααα
- ααΆααΆααααααΎαααΆαα, αααααααααααααΆαααΌα ααΆ heap, RAM αα·α I/O α
αα
ααααααα½ααα·αα·αααα’ααΆα α’αααααααΌααααα·αααΌαααΈαααααααα·ααααα Thread Pool αα
αααα»α Elasticsearch α
α’αααΈααααααα»αα αααα·ααΆααα αααα»αααΆαααααα·ααααΆα: ααΎαααΆαααααΎααΆ! ααΎαα’αΆα αααααα±ααα’αααααααααααααα·ααΈ αα·αα’αααα’αα·ααααααααααααΎαααΌαα§ααααααα½α αααααααΎααααααααααααΆαααΆαααΆααα’αα α’αΆα αααααααααααΆααααΆαααΆαααα αα αα·ααα½αα±αααα»αα α·αααα’αααΈα’αααΈααααααα»αααΎαα‘αΎααα αααα»αααα·αααααα
ααΆα ααΆαααααα ααΆαααα»αααααΆα ααα»αααααααααΆαααΆαααΆ ααΎαααΆααααααααααα±ααααααΉαααααααααΆααααΆααααααΎααα αααα»αααα·ααααααααΆαααααΆαα αααααΎααα·αα αΆαααΆα ααα½ααα»α αα·ααααααα‘αΎααα·ααααααΆαααααα½αααΎαα
ααααα: www.habr.com