![](/img/trans.png)
[英]ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host=u'localhost', port=9200): Read timed out. (read timeout=10))
[英]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.