部落格原文
安利一篇我翻譯的國外大牛的神經網絡入門文章
這部分是從同僚的wiki上扒下來的,記在這裡,作為以後使用的參考
分片和副本調優
- 更多分片使索引能傳送到更多的伺服器,意味着可以處理更多的檔案,而不會降低性能
- 更多分片意味着擷取特定文檔所需的資源量會減少,因為相較于部署更少分片時,存儲在單個分片中的檔案數量會更少
- 更多分片意味着搜尋索引時會面臨更多問題,因為必須從更多分片中合并結果,使得查詢的聚合階段需要更多的資源
- 更多副本會增強叢集系統的容錯性,因為當原始分片不可用時,其副本将代替原始分片發揮作用,隻擁有單個副本,叢集可能在不丢失資料的情況下遺失分片。當擁有兩個副本時,即時丢失了原始分片及其中一個副本,一切工作仍可以很好地繼續下去。
- 更多副本意味着查詢吞吐量會增加,因為執行車訊可以使用分片或分片的任一副本
總結
副本多:
- 優點:查詢速度快,容錯性高
- 缺點:插入速度變慢
分片多:
- 優點:插入速度快
- 缺點:查詢速度慢
副本最好設定為2份提高容錯性和查詢速度,分片設定為節點數量的2倍提高插入速度,如果是大批量導入不做查詢的話可取消副本
Merge 吞吐量調優
系統預設是20mb,實際系統性能可能會更好,可适當調整
curl -XPUT "http://<ip>:9200/_cluster/settings" -d
'{
"persistent":
{
"indices.store.throttle.type": "merge",
"indices.store.throttle.max_bytes_per_sec": "mb"
}
}'
重新整理頻率調優
大批量插入時,修改refresh_interval到-1(不重新整理)或大于1s的時間,減少shard重新整理間隔
curl -XPUT 'http://<ip>:9200/dw-search/_settings' -d '{
"index" : {
"refresh_interval" : "-"
}
}'
插入完成後修改回預設值1s
curl -XPUT 'http://10.1.*.*:9200/dw-search/_settings' -d '{
"index" : {
"refresh_interval" : "s"
}
}'
另外下面的文章列出了很多有用的url
http://blog.csdn.net/u014351782/article/details/51207650
其中關閉index這個方法在一次故障進行中起了很大的作用,我們發現系統一直報’too many open files’,然後找到elasticsearch程序,發現确實打開了很多句柄,然後調用
curl http://localhost:9200/_nodes/process\?pretty
發現最大句柄數已經是65530
"max_file_descriptors" : 65530,
果然重新開機之後,句柄數很快還是飙到了65530,通過關閉index,句柄數得到了顯著減少。
本篇部落格還參考下面的部落格:
http://www.wklken.me/posts/2015/05/23/elasticsearch-issues.html