国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch專欄-8.es讀寫性能及優(yōu)化

這篇具有很好參考價值的文章主要介紹了Elasticsearch專欄-8.es讀寫性能及優(yōu)化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

寫入性能

服務(wù)器資源

資源 數(shù)值
服務(wù)器 華為
系統(tǒng) centos7.9
cpu Intel? Core? i5-10500 CPU @ 3.10GHz、6核12線程
mem 62G
disk 機械硬盤、3.6T

單機寫入性能

將es堆內(nèi)存增大到20G,其余配置不做任何修改,數(shù)據(jù)單條寫入。測試結(jié)果如下

線程 線程延遲時間(ms) 數(shù)據(jù)量(W) 平均響應時間(ms) QPS
300 0 5.9 338 222
300 0 81 369 217

附件一:
Elasticsearch專欄-8.es讀寫性能及優(yōu)化

附件二:
Elasticsearch專欄-8.es讀寫性能及優(yōu)化
??從上面測試結(jié)果來看,在不做優(yōu)化前提下,es并發(fā)寫入單條耗時約在360ms。這個性能相比大多數(shù)場景都已滿足,不過如果項目對數(shù)據(jù)存儲和周轉(zhuǎn)的實時性要求高,那么還是要對寫入性能做優(yōu)化。

寫入性能優(yōu)化

方案一:業(yè)務(wù)優(yōu)化
??在業(yè)務(wù)上,最常見的優(yōu)化手段就是變單條寫入為批量寫入。而es本身支持批量插入,就是bulk操作。我在第三章“Elasticsearch專欄-3.es基本用法-基礎(chǔ)api”中也提到了bulk的使用方法。
??本次測試,我的優(yōu)化方式是:數(shù)據(jù)接入時,先不寫庫,而是直接推送到消息隊列中(這里我使用的是rabbitmq)。然后監(jiān)聽該隊列,批量拿消息。測試時,是一次拿去1000條。最后將這1000條數(shù)據(jù)批量寫入es。實測結(jié)果是,1000條批量寫入耗時和單條寫入耗時相差不大。附圖略。
??除了按數(shù)量批量寫入外,還可以按照時間。比如每秒寫入一次,有多少數(shù)量就寫入多少。其實這種方法應該更合理,像mysql底層數(shù)據(jù)和日志落盤的策略,其中就有每秒落盤一次的策略。上篇文章中,也做了圖說明,有興趣可以參考下。

方案二:底層優(yōu)化
??除了業(yè)務(wù)優(yōu)化外,還有就是從底層優(yōu)化。而底層優(yōu)化,最常見的就是刷盤策略。因為我們都知道,正在的耗時就是磁盤IO。
??這里我直接貼出優(yōu)化的參數(shù),如下:

參數(shù) 優(yōu)化后值 含義
index.refresh_interval 10s 緩存刷新時間,即10s后數(shù)據(jù)才能被搜索
index.translog.durability async 異步
index.translog.flush_threshold_size 1024mb translog大小達到多大時落盤
index.translog.sync_interval 30s translog每隔多久落盤

??其中,效果最明顯的就是index.translog.durability。它表示的是日志持久化策略,默認情況下是同步策略,即寫一條數(shù)據(jù)要等日志落盤后才返回。這種效率慢,但能保證數(shù)據(jù)安全性。
??將index.translog.durability改為async后,就是異步策略。數(shù)據(jù)寫入緩存后,里面返回,不會等待日志是否落盤成功。這種效率很快,但數(shù)據(jù)安全性差。

測試結(jié)果如下:(后臺無報錯,es入庫數(shù)據(jù)量和jemter發(fā)送量一致)

線程 線程延遲時間(ms) 數(shù)據(jù)量(W) 平均響應時間(ms) QPS
500 100 1000 13 4100

附件:

Elasticsearch專欄-8.es讀寫性能及優(yōu)化
從上面測試結(jié)果來看,改同步為異步后,寫入性能有了量級的提升。這個平均耗時(13ms)和吞吐量(4100)已經(jīng)相當于消息隊列了。

查詢性能

因為業(yè)務(wù)需要,有考慮從mysql切換到es。所以查詢性能,我采用es和mysql做對比。數(shù)據(jù)量選用680w,1050w,2000w。查詢內(nèi)容包括:總和統(tǒng)計、多條件列表查詢、分頁查詢、詳情查詢等多個維度。下面列出對比的數(shù)據(jù)。(數(shù)據(jù)結(jié)構(gòu)和查詢邏輯后續(xù)專門章節(jié)說明,本次只展示比對結(jié)果。)
1.總和統(tǒng)計耗時:ms

數(shù)據(jù)量 680w 1050w 2000w
es 18 29 45
mysql 36 52 144

2.近5天數(shù)量趨勢統(tǒng)計耗時:ms

數(shù)據(jù)量 680w 1050w 2000w
es 71 62 450
mysql 2.7s 4.2s 8s

3.分組統(tǒng)計耗時:ms

數(shù)據(jù)量 680w 1050w 2000w
es 20 74 54
mysql 2.8s 4.3s 8.4s

4.es列表查詢及分頁耗時:ms

數(shù)據(jù)量 第一頁 第10頁 第100頁 第1000頁
1050w 79 35 30 34

5.詳情查詢耗時:ms

數(shù)據(jù)量 680w 1050w 2000w
es 61 55 62
mysql 37 35 60

從對比結(jié)果來看,es整體性能要優(yōu)于mysql。總結(jié)如下:
1.數(shù)據(jù)量從百萬級到千萬級,對es的查詢耗時影響不大,基本每次查詢都在幾十毫秒。但對mysql影響很大,數(shù)據(jù)量越多,查詢越慢,這也符合實際情況。
2.es分頁沒有想象的那樣,越靠后翻頁越慢。整個分頁查詢都很穩(wěn)定。
3.查詢單條數(shù)據(jù)時,mysql如果走索引情況下,速度是非??斓?,有可能比es都要快。
4.總的來說,es的性能和穩(wěn)定性要比mysql好。無論查詢條件變化如何,數(shù)據(jù)量多少,es的查詢耗時都不會相差很大。

資源占用情況

cpu

線程 300t 500t
es 9% 9%
mysql 64% 112%

隨著線程的增加,mysql占用CPU明顯比es高

mem

數(shù)據(jù)量 680w 1050w 2000w
es 23G 23G 23G
mysql 24G - 48G

隨著壓測數(shù)據(jù)量的增加,es內(nèi)存并沒有增大,而mysql增加了很多。因為mysql innodb_buff我設(shè)置的是40G,所以增加這么多內(nèi)存也不難理解,都被mysql底層緩存占用了。

disk

數(shù)據(jù)量 680w 1050w 2000w
es 2.1G 2.9G 5G
mysql 1.9G 2.7G 5.3G

從結(jié)果來看,mysql存儲數(shù)據(jù)占用磁盤還是比es多。
總結(jié):es對cpu、mem、disk等資源占用,相比mysql來說要少。文章來源地址http://www.zghlxwxcb.cn/news/detail-410981.html

到了這里,關(guān)于Elasticsearch專欄-8.es讀寫性能及優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【elasticsearch】elasticsearch es讀寫原理

    【elasticsearch】elasticsearch es讀寫原理

    今天來學習下 es 的寫入原理。 Elasticsearch底層使用Lucene來實現(xiàn)doc的讀寫操作: 沒有并發(fā)設(shè)計 lucene 只是一個搜索引擎庫,并沒有涉及到分布式相關(guān)的設(shè)計,因此要想使用Lucene來處理海量數(shù)據(jù),并利用分布式的能力,就必須在其之上進行分布式的相關(guān)設(shè)計。 非實時 將文件寫入

    2023年04月08日
    瀏覽(14)
  • Elasticsearch(五)--ES文檔的操作(上)---寫入文檔

    Elasticsearch(五)--ES文檔的操作(上)---寫入文檔

    使用ES構(gòu)建搜索引擎時需要經(jīng)常對文檔進行操作,除了簡單的單條文檔操作,有時還需要進行批量操作。我們這章主要學習ES文檔的增刪改的操作,由于涉及到的代碼量會比較多,所以分為3篇文章分別說明文檔的這個三個操作。那么我們對文檔操作的學習除了在kibana客戶端之

    2024年01月16日
    瀏覽(22)
  • elasticsearch 讀寫性能調(diào)優(yōu)

    elasticSearch 讀寫性能調(diào)優(yōu) elasticSearch作為java后端和大數(shù)據(jù)核心的技術(shù)之一,肯定在面試當中它的性能調(diào)優(yōu)肯定是要問的,看了好多人整理的性能調(diào)優(yōu)方案,確實受益匪淺。自己整理一份簡單的性能調(diào)優(yōu),能應付面試就行了。哈哈哈?。?! 一、寫入調(diào)優(yōu) 增加flush時間間隔,目的

    2024年02月13日
    瀏覽(35)
  • ElasticSearch第十五講 ES數(shù)據(jù)寫入過程和寫入原理以及數(shù)據(jù)如何保證一致性

    ES 數(shù)據(jù)并發(fā)沖突控制是基于的樂觀鎖和版本號的機制 一個document第一次創(chuàng)建的時候,它的_version內(nèi)部版本號就是1;以后,每次對這個document執(zhí)行修改或者刪除操作,都會對這個_version版本號自動加1;哪怕是刪除,也會對這條數(shù)據(jù)的版本號加1(假刪除)。 對于更新操作 客戶端對

    2024年02月12日
    瀏覽(24)
  • ElasticSearch--優(yōu)化寫入速度的方法--修改配置

    原文網(wǎng)址:ElasticSearch--優(yōu)化寫入速度的方法--修改配置_IT利刃出鞘的博客-CSDN博客 說明 ? ? ? ? 本文介紹如何優(yōu)化ElasticSearch的寫入性能。 相關(guān)網(wǎng)址 ElasticSearch--寫入數(shù)據(jù)的流程(原理)_IT利刃出鞘的博客-CSDN博客 方案說明 ? ? ? ? 下邊的方案,有的比較推薦改動,有的不推薦改

    2024年02月14日
    瀏覽(15)
  • 【Java程序員面試專欄 專業(yè)技能篇】MySQL核心面試指引(三):性能優(yōu)化策略

    【Java程序員面試專欄 專業(yè)技能篇】MySQL核心面試指引(三):性能優(yōu)化策略

    關(guān)于MySQL部分的核心知識進行一網(wǎng)打盡,包括三部分: 基礎(chǔ)知識考察、核心機制策略、性能優(yōu)化策略 ,通過一篇文章串聯(lián)面試重點,并且?guī)椭訌娙粘;A(chǔ)知識的理解,全局思維導圖如下所示 本篇Blog為第三部分:性能優(yōu)化策略,子節(jié)點表示追問或同級提問 分布式數(shù)據(jù)庫的處

    2024年01月25日
    瀏覽(18)
  • Hbase基本使用,讀寫原理,性能優(yōu)化學習

    Hbase基本使用,讀寫原理,性能優(yōu)化學習

    HBase簡介 HBase定義 Apache HBase 是以 hdfs 為數(shù)據(jù)存儲的,一種分布式、可擴展的 NoSQL 數(shù)據(jù)庫 HBase數(shù)據(jù)模型 HBase 的設(shè)計理念依據(jù) Google 的 BigTable 論文,論文中對于數(shù)據(jù)模型的首句介紹。 Bigtable 是一個稀疏的、分布式的、持久的多維排序 map。之后對于映射的解釋如下: 該映射由行

    2024年02月08日
    瀏覽(17)
  • ElasticSearch學習筆記-第四章 ES分片原理以及讀寫流程詳解

    ElasticSearch學習筆記-第四章 ES分片原理以及讀寫流程詳解

    在學習ES分片原理以及讀寫流程之前,需要先學習一些ES的核心概念以及ES集群環(huán)境的相關(guān)知識 4.1 ES核心概念 4.1.1 索引 索引(Index)相當于MySQL中的數(shù)據(jù)庫,一個索引就是一個擁有幾分相似特征的文檔的集合。 4.1.2 類型 類型(Type)相當于MySQL中的表,一個類型就是索引的一個邏輯上

    2024年02月06日
    瀏覽(54)
  • es 聚合性能優(yōu)化

    適用場景 :高基數(shù)聚合 。高基數(shù)聚合場景中的高基數(shù)含義:一個字段包含很大比例的唯一值。 本質(zhì)上就是通過預先加載全局字典到內(nèi)存中來減少磁盤I/O操作,從而提高查詢速度。以空間換時間。 global ordinals 中文翻譯成全局序號,是一種數(shù)據(jù)結(jié)構(gòu),應用場景如下: 基于 ke

    2024年04月25日
    瀏覽(26)
  • ES性能優(yōu)化最佳實踐- 檢索性能提升30倍!

    ES性能優(yōu)化最佳實踐- 檢索性能提升30倍!

    ????????Elasticsearch是被廣泛使用的搜索引擎技術(shù),它的應用領(lǐng)域遠不止搜索引擎,還包括日志分析、實時數(shù)據(jù)監(jiān)控、內(nèi)容推薦、電子商務(wù)平臺、企業(yè)級搜索解決方案以及許多其他領(lǐng)域。其強大的全文搜索、實時索引、分布式性能和豐富的插件生態(tài)系統(tǒng)使其成為了許多不同

    2024年02月08日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包