簡體   English   中英

ElasticSearch 超時錯誤:ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): 讀取超時。(讀取超時=60))

[英]ElasticSearch Timeout Error: ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200): Read timed out. (read timeout=60))

我有一個在服務器上運行的 ElasticSearch 實例。 當我嘗試使用多處理來索引一個龐大的語料庫時,我收到了很多超時錯誤。 似乎 EasticSearch 只能處理少數幾個請求。 我遵循了 ElasticSearch 網站中建議的配置。 關於我應該如何提高多處理設置的索引性能有什么建議嗎? 我添加文檔的索引有一個分片。

有很多工作可以做。

  • 首先,您需要設置refresh_interval 刷新間隔是添加的文檔可供搜索的時間。 如果您可以容忍,請將其設置為至少 30 秒或 -1。 我讀到這將使索引性能提高約 70%。

  • 您可以嘗試的第二件事是使用批量索引 API 而不是單個文檔索引。

  • 在某些特殊情況下,禁用交換可以為您帶來更高的性能。

  • 您可以嘗試的其他選項之一是增加分配給 elasticsearch 的 RAM 大小;

  • 最后,增加用於索引的 HEAP 的大小可以提高寫入性能。 默認大小是所有堆大小的 10%。

我希望這些要點可以幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM