滴滴ElasticSearch千萬級TPS寫入性能翻倍技術剖析

1. 背景

前段時間,爲了降低用戶使用ElasticSearch的存儲成本,我們做了數據的冷熱分離。爲了保持集羣磁盤利用率不變,我們減少了熱節點數量。ElasticSearch集羣開始出現寫入瓶頸,節點產生大量的寫入rejected,大量從kafka同步的數據出現寫入延遲。我們深入分析寫入瓶頸,找到了突破點,最終將Elasticsearch的寫入性能提升一倍以上,解決了ElasticSearch瓶頸導致的寫入延遲。這篇文章介紹了我們是如何發現寫入瓶頸,並對瓶頸進行深入分析,最終進行了創新性優化,極大的提升了寫入性能。

2. 寫入瓶頸分析

2.1 發現瓶頸

我們去分析這些延遲問題的時候,發現了一些不太好解釋的現象。之前做性能測試時,ES節點cpu利用率能超過80%,而生產環境延遲索引所在的節點cpu資源只使用了不到50%,集羣平均cpu利用率不到40%,這時候IO和網絡帶寬也沒有壓力。通過提升寫入資源,寫入速度基本沒增加。於是我們開始一探究竟,我們選取了一個索引進行驗證,該索引使用10個ES節點。從下圖看到,寫入速度不到20w/s,10個ES節點的cpu,峯值在40-50%之間。

爲了確認客戶端資源是足夠的,在客戶端不做任何調整的情況下,將索引從10個節點,擴容到16個節點,從下圖看到,寫入速度來到了30w/s左右。

原文鏈接:【https://www.infoq.cn/article/A4UPdRLSGeVVO8kpMAJZ】。未經作者許可,禁止轉載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章