国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Elasticsearch寫入優化記錄,從3000到8000/s

Android編程精選 ? 來源:blog.csdn.net/wmj2004/article/ ? 作者:blog.csdn.net/wmj2004 ? 2022-04-11 10:55 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

背景

  • 基于elasticsearch-5.6.0

  • 機器配置:3個阿里云ecs節點,16G,4核,機械硬盤

優化前,寫入速度平均3000條/s,一遇到壓測,寫入速度驟降,甚至es直接頻率gc、oom等;優化后,寫入速度平均8000條/s,遇到壓測,能在壓測結束后30分鐘內消化完數據,各項指標回歸正常。

生產配置

這里我先把自己優化的結果貼出來,后面有參數的詳解:

elasticsearch.yml中增加如下設置

indices.memory.index_buffer_size:20%
indices.memory.min_index_buffer_size:96mb

#Searchpool
thread_pool.search.size:5
thread_pool.search.queue_size:100
#這個參數慎用!強制修改cpu核數,以突破寫線程數限制
#processors:16
#Bulkpool
#thread_pool.bulk.size:16
thread_pool.bulk.queue_size:300
#Indexpool
#thread_pool.index.size:16
thread_pool.index.queue_size:300

indices.fielddata.cache.size:40%

discovery.zen.fd.ping_timeout:120s
discovery.zen.fd.ping_retries:6
discovery.zen.fd.ping_interval:30s

索引優化配置:

PUT/_template/elk
{
"order":6,
"template":"logstash-*",#這里配置模板匹配的Index名稱
"settings":{
"number_of_replicas":0,#副本數為0,需要查詢性能高可以設置為1
"number_of_shards":6,#分片數為6,副本為1時可以設置成5
"refresh_interval":"30s",
"index.translog.durability":"async",
"index.translog.sync_interval":"30s"

}
}

優化參數詳解

精細設置全文域: string類型字段默認會分詞,不僅會額外占用資源,而且會影響創建索引的速度。所以,把不需要分詞的字段設置為not_analyzed

禁用_all字段: 對于日志和apm數據,目前沒有場景會使用到

副本數量設置為0: 因為我們目前日志數據和apm數據在es只保留最近7天的量,全量日志保存在hadoop,可以根據需要通過spark讀回到es – 況且副本數量是可以隨時修改的,區別分片數量

使用es自動生成id: es對于自動生成的id有優化,避免了版本查找。因為其生成的id是唯一的

設置index.refresh_interval: 索引刷新間隔,默認為1s。因為不需要如此高的實時性,我們修改為30s – 擴展學習:刷新索引到底要做什么事情

設置段合并的線程數量:

curl-XPUT'your-es-host:9200/nginx_log-2018-03-20/_settings'-d'{
"index.merge.scheduler.max_thread_count":1
}'

段合并的計算量龐大,而且還要吃掉大量磁盤I/O。合并在后臺定期操作,因為他們可能要很長時間才能完成,尤其是比較大的段

機械磁盤在并發I/O支持方面比較差,所以我們需要降低每個索引并發訪問磁盤的線程數。這個設置允許max_thread_count + 2個線程同時進行磁盤操作,也就是設置為1允許三個線程

擴展學習:什么是段(segment)?如何合并段?為什么要合并段?(what、how、why)

1.設置異步刷盤事務日志文件:

"index.translog.durability":"async",
"index.translog.sync_interval":"30s"

對于日志場景,能夠接受部分數據丟失。同時有全量可靠日志存儲在hadoop,丟失了也可以從hadoop恢復回來

2.elasticsearch.yml中增加如下設置:

indices.memory.index_buffer_size:20%
indices.memory.min_index_buffer_size:96mb

已經索引好的文檔會先存放在內存緩存中,等待被寫到到段(segment)中。緩存滿的時候會觸發段刷盤(吃i/o和cpu的操作)。默認最小緩存大小為48m,不太夠,最大為堆內存的10%。對于大量寫入的場景也顯得有點小。

擴展學習:數據寫入流程是怎么樣的(具體到如何構建索引)?

1.設置index、merge、bulk、search的線程數和隊列數。例如以下elasticsearch.yml設置:

#Searchpool
thread_pool.search.size:5
thread_pool.search.queue_size:100
#這個參數慎用!強制修改cpu核數,以突破寫線程數限制
#processors:16
#Bulkpool
thread_pool.bulk.size:16
thread_pool.bulk.queue_size:300
#Indexpool
thread_pool.index.size:16
thread_pool.index.queue_size:300

2.設置filedata cache大小,例如以下elasticsearch.yml配置:

indices.fielddata.cache.size:15%

filedata cache的使用場景是一些聚合操作(包括排序),構建filedata cache是個相對昂貴的操作。所以盡量能讓他保留在內存中

然后日志場景聚合操作比較少,絕大多數也集中在半夜,所以限制了這個值的大小,默認是不受限制的,很可能占用過多的堆內存

擴展學習:什么是filedata?構建流程是怎樣的?為什么要用filedata?(what、how、why)

1.設置節點之間的故障檢測配置,例如以下elasticsearch.yml配置:

discovery.zen.fd.ping_timeout:120s
discovery.zen.fd.ping_retries:6
discovery.zen.fd.ping_interval:30s

大數量寫入的場景,會占用大量的網絡帶寬,很可能使節點之間的心跳超時。并且默認的心跳間隔也相對過于頻繁(1s檢測一次)

此項配置將大大緩解節點間的超時問題

后記

這里僅僅是記錄對我們實際寫入有提升的一些配置項,沒有針對個別配置項做深入研究。

擴展學習后續填坑。基本都遵循(what、how、why)原則去學習。

-End-

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7335

    瀏覽量

    94771
  • Elasticsearch
    +關注

    關注

    0

    文章

    30

    瀏覽量

    3146

原文標題:Elasticsearch 寫入優化記錄,從3000到8000/s

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    電能質量在線監測裝置支持的外接存儲類型的寫入速度如何?

    電能質量在線監測裝置外接存儲寫入速度最低 2-10MB/s (普通 U 盤) 最高 500+MB/s (工業級 SSD) 不等,選擇時應
    的頭像 發表于 02-25 17:21 ?1083次閱讀

    01搭建實時日志監控系統:基于WebSocket + Elasticsearch的實戰方案

    問題。 WebSocket斷連重試 :前端實現指數退避重連機制。 數據壓縮 :對大文本日志啟用Gzip壓縮,減少帶寬占用。 5. 最終效果 實時性 :日志產生展示延遲 < 1秒 吞吐量
    發表于 01-09 16:43

    電力電子EMC整改:源頭系統的全鏈路優化策略方案

    南柯電子|電力電子EMC整改:源頭系統的全鏈路優化策略方案
    的頭像 發表于 01-06 09:59 ?242次閱讀

    故障修復:Keysight N9020A頻譜儀啟動異常維修全記錄

    故障修復:Keysight N9020A頻譜儀啟動異常維修全記錄
    的頭像 發表于 12-15 16:39 ?532次閱讀
    <b class='flag-5'>從</b>故障<b class='flag-5'>到</b>修復:Keysight N9020A頻譜儀啟動異常維修全<b class='flag-5'>記錄</b>

    EMC干擾問題整改:ESD死機通過CE認證的全記錄

    深圳南柯電子|EMC干擾問題整改:ESD死機通過CE認證的全記錄
    的頭像 發表于 09-22 10:25 ?646次閱讀

    底層解讀labview的TDMS高級異步寫入的工作原理

    的數據采集或處理循環,從而顯著提高整體應用程序的吞吐量和響應性。 解耦: 將數據生成邏輯(如 DAQ 循環)與數據存儲邏輯(磁盤寫入)分離,使程序結構更清晰,更易于維護和優化。 關于“同時寫入”和線程安全
    發表于 08-14 17:05

    廚房電器EMC整改:測試優化的系統性解決方案

    南柯電子|廚房電器EMC整改:測試優化的系統性解決方案
    的頭像 發表于 08-12 11:29 ?850次閱讀
    廚房電器EMC整改:<b class='flag-5'>從</b>測試<b class='flag-5'>到</b><b class='flag-5'>優化</b>的系統性解決方案

    是否必須使用LuatIO?Air8000 GPIO配置與設計規范深度解析

    在Air8000的GPIO應用開發中,LuatIO的角色至關重要。本文剖析其必要性,結合設計注意事項,為開發者提供配置優化的全流程指南。 想要4G+GNSS+WiFi+BLE+TT
    的頭像 發表于 07-29 13:54 ?528次閱讀
    是否必須使用LuatIO?Air<b class='flag-5'>8000</b> GPIO配置與設計規范深度解析

    一:基于Air8000的LuatOS softAP配網功能開發教程

    零構建穩定可靠的網絡接入方案。 一、SoftAP 概述 ? 文章開篇先簡單介紹下 Air8000 工業引擎的 AP 模式,一般來說,Air8000 工業引擎使用中支持兩種無線網絡工作模式,分別為
    的頭像 發表于 07-21 17:32 ?606次閱讀
    <b class='flag-5'>從</b>零<b class='flag-5'>到</b>一:基于Air<b class='flag-5'>8000</b>的LuatOS softAP配網功能開發教程

    通信設備EMC整改:測試優化的系統性解決方案

    深圳南柯電子|通信設備EMC整改:測試優化的系統性解決方案
    的頭像 發表于 06-16 11:10 ?738次閱讀

    單節點Elasticsearch+Filebeat+Kibana安裝指南

    單節點Elasticsearch+Filebeat+Kibana安裝指南
    的頭像 發表于 05-21 11:06 ?1190次閱讀
    單節點<b class='flag-5'>Elasticsearch</b>+Filebeat+Kibana安裝指南

    直流電機EMC整改:驅動系統整車的協同優化

    深圳南柯電子|直流電機EMC整改:驅動系統整車的協同優化
    的頭像 發表于 05-14 11:08 ?1290次閱讀
    直流電機EMC整改:<b class='flag-5'>從</b>驅動系統<b class='flag-5'>到</b>整車的協同<b class='flag-5'>優化</b>

    汽車電子芯片數量大增: 500 顆 3000 顆,錫膏如何撐起可靠性大旗?

    傳統汽車、電動車、智能汽車的芯片用量分別為 500-700 顆、1600 顆、3000 顆以上,芯片類型 MCU、MOSFET 向 AI 芯片、5G 通信芯片進化,推動錫膏技術針對性升級。錫膏選型需深度匹配場景需求,材料配方
    的頭像 發表于 04-10 19:08 ?1654次閱讀
    汽車電子芯片數量大增:<b class='flag-5'>從</b> 500 顆<b class='flag-5'>到</b> <b class='flag-5'>3000</b> 顆,錫膏如何撐起可靠性大旗?

    人工記錄到智能巡檢:云翎智能單北斗記錄儀如何重塑電力巡檢

    追蹤與巡檢軌跡的詳細記錄,確保巡檢工作無遺漏、無盲區。云翎智能單北斗巡檢記錄儀一、技術革新:“經驗依賴”“精準感知”北斗高精度定位,破解復雜環境盲區云翎
    的頭像 發表于 04-03 14:58 ?829次閱讀
    <b class='flag-5'>從</b>人工<b class='flag-5'>記錄</b>到智能巡檢:云翎智能單北斗<b class='flag-5'>記錄</b>儀如何重塑電力巡檢

    “事后追溯”“事前預警”:云翎智能巡檢記錄儀風險管控升級

    云翎智能巡檢記錄儀通過高精度定位、AI算法與多源數據融合,實現了風險管控“事后追溯”“事前預警”的跨越。其國產化設計確保安全可控,極端環境適配能力強化實戰效能,不僅重構了工業巡檢的邏輯,更為關鍵
    的頭像 發表于 03-25 14:08 ?927次閱讀
    <b class='flag-5'>從</b>“事后追溯”<b class='flag-5'>到</b>“事前預警”:云翎智能巡檢<b class='flag-5'>記錄</b>儀風險管控升級