歡迎您來到潮人地東莞seo博客,本站專業免費分享多元化的seo網站優化技術干貨以及解答seo各種常見問題的博客網站

熱門關鍵詞: seo優化 seo推廣 seo技術 seo博客 seo網站推廣怎么做 seo怎么做 新手做seo怎么做
當前位置:seo博客首頁 > seo技術分享 >

seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)

發布時間:2023-07-24 07:16:08 文章出處:潮人地東莞seo博客 作者:東莞seo博客 閱讀數量:

潮人地東莞seo博客小編下面跟大家分享關于seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)等問題,希望seo專員在做seo優化的過程中有所幫助,內容僅供參考。

讓Elasticsearch飛起來-性能優化實踐干貨
seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)

0、題記

Elasticsearch性能優化的最終目的:用戶體驗酷。

關于酷的定義——著名產品人梁寧曾經說過:“當人們滿意時,他們的狀態被稱為快樂。如果人們不滿意,他們就會感到不舒服,并開始尋求。如果這個人能在尋找中立即得到滿足,這種感覺就很酷了!”。

Elasticsearch的爽點是:快、準、全!

seo博客相關推薦閱讀:seo技術博客分享:網站有那幾種地方需要優化,如何做

阿里巴巴、騰訊、JD.COM、攜程、滴滴、58等都對Elasticsearch的性能優化做了很多深入的實踐總結,都是很好的參考。本文以Elasticsearch的酷點為基礎,對性能優化進行了探討。

1、集群規劃優化實踐

1.1基于目標數據量規劃集群

在業務初期,經常被問到的問題需要幾個節點的集群,內存和CPU需要多少,SSD需要多少?

最重要的考慮因素是:您的目標存儲數據量是多少?針對目標數據量可以反推多少節點。

1.2留出容量Buffer

注:Elasticsearch有三條警戒水位線,磁盤利用率達到85%、90%、95%。

不同的警戒水位線會有不同的應急策略。

在這一點上,應規劃磁盤容量選擇。控制在85%以下是合理的。

當然,也可以通過配置進行調整。

1.3ES集群各節點盡量不要與其他業務功能重用一臺機器。

除非內存很大。

例如,ES安裝在普通服務器上 Mysql redis,業務數據量大后,必然會出現內存不足等問題。

1.4磁盤盡量選擇SSDD

考慮到成本原因,Elasticsearch的官方文件必須推薦SSD。需要結合業務場景,

如果業務對寫入和檢索速率有較高的速率要求,建議使用SSD磁盤。

在阿里的業務場景中,SSD磁盤的速率是機械硬盤的5倍。

但因商業場景而異。

1.5內存配置合理

官方建議:堆內存的大小是官方建議:Min(32GB,機器內存大小/2)。

Medcl和wood大叔都明確表示,不需要設置32/31GB那么大,建議:熱數據設置:26GB,冷數據:31GB。

整體內存大小沒有具體要求,但內容越大,檢索性能越好。

經驗值供參考:每天200GB 在增量數據的業務場景中,服務器至少需要64GB內存。

除JVM外,還要有足夠的預留內存,否則OOM往往會出現。

1.6CPU核數不要太小

CPU核數與ESThreadpol有關。它與寫入和檢索性能有關。

建議:16核 。

1.7超大量業務場景,可考慮跨集群檢索

除非業務量級很大,比如滴滴和攜程的PB 業務場景,否則基本不需要跨集群檢索。

1.8集群節點數不需要奇數

ES內部維護集群通信不是基于zookeeper的分發部署機制,所以不需要奇數。

但是discovery.zen.minimum_master_nodes的值應設置為:候選主節點的數量/2 1、能有效避免腦裂。

1.9節點類型優化分配

集群節點數:<=3,建議:所有節點的master:true,data:true。既是主節點也是路由節點。集群節點數:>3.根據業務場景的需要,建議Master節點和協調/路由節點逐步獨立。

1.10建議冷熱數據分離

物理上提高了熱數據存儲SSD和普通歷史數據存儲機械磁盤的檢索效率。

seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)

2、索引優化實踐

Mysql等關系數據庫要分庫、分表。Elasticserach也要充分考慮。

2.1設置多少個索引?

建議根據業務場景進行存儲。

不同渠道類型的數據應分為索引存儲。例如:知乎采集信息存儲到知乎索引;APP采集信息存儲到APP索引。

2.2設置多少分片?

建議根據數據量進行測量。

經驗值:建議每片尺寸不超過30GB。

2.3分片數設置?

建議根據集群節點的數量規模,建議>=集群節點的數量。

5個節點的集群,5個分片比較合理。

注:除非reindex操作,否則不能修改分片數。

2.4副本數設置?

除非你對系統的健壯性有很高的要求,比如銀行系統。可以考慮兩份以上。

否則,一個副本就足夠了。

注:可通過配置隨時修改副本數。

2.5不要在一個索引下創建多個type

即便你是5.考慮到未來版本升級等后續可擴展性,X版本。

建議:一個索引對應一個type。

6.默認對應_xxdoc,5.x您直接對應type統一為doc。

2.6根據日期規劃索引索引

隨著業務量的增加,單一索引與數據量激增的矛盾突出。

按日期規劃索引是必然選擇。

好處1:歷史數據可以在幾秒鐘內刪除。非常適合歷史索引delete。注:如果索引需要使用delete_by_query force_merge操作慢,刪除不徹底。

好處2:便于冷熱數據的單獨管理,檢索近幾天的數據,直接物理指定相應日期的索引,速度快!

操作參考:模板使用 使用rolloverAPI。

2.7必須使用別名

與mysql不同,ES更改索引名稱。使用別名是一個相對靈活的選擇。

3、優化實踐的數據模型

3.1不要使用默認的Mapping

默認Mapping的字段類型由系統自動識別。其中,string類型默認分為兩種類型:text和keyword。如果您的業務不需要單詞分割和搜索,只需要準確匹配,只設置為keyword。

根據業務需要選擇合適的類型,有利于節省空間,提高精度,如浮點型的選擇。

3.2Mapping各字段的選擇流程

3.3選擇合理的分詞器

常見的開源中文分詞器包括:ik分詞器、ansj分詞器、hanlp分詞器、結巴分詞器、海量分詞器、“elasticsearch最全分詞器比較及使用方法”搜索可查看比較效果。

如果選擇ik,建議使用ik_max_word。因為粗粒度的分詞結果基本上包括細粒度ik_smart的結果。

3.4date、long、還是keyword

根據業務需要,如果需要根據時間軸進行分析,則必須進行date類型;

如果只需要秒返回,建議使用常州網站seo優化推廣優化keyword。

4、數據寫入優化實踐

4.1要不要秒級響應?

Elasticsearch近實時的本質是:最快1s寫入的數據可以查詢。

如果refresh_interval設置為1s,必然會產生大量的segment,影響檢索性能。

因此,可以將非實時場景調大,設置為30s甚至-1。

4.2減少副本,提高寫入性能。

寫入前,副本數設置為0,

寫入后,將副本數設置為原始值。

4.3能量批量不單條寫入

批量接口為bulk,批量尺寸應與隊列尺寸相結合,而隊列尺寸、線程池尺寸、機器cpu核數。

4.4禁用swap

在Linux系統中,通過運行以下命令暫時禁用交換:

sudoswapofff-a

5、實戰檢索聚合優化

5.1禁用wildcard模糊匹配

達到TB的數據量級 甚至更高之后,wildcard在多字段組合的情況下很容易卡死,甚至導致集群節點崩潰停機。

后果不堪設想。

替代方案:

方案1:對于精度要求高的方案:兩套分詞器、standard和ik的組合,使用match_phrase進行檢索。

方案二:對于精度要求低的替代方案:建議通過match_phrase和slop查詢ik分詞。

5.2使用match匹配極小概率的概率

顯然,中文match匹配的結果是不準確的。短語匹配將用于大型商業場景。”match_phrase"。

match_phrase結合合理的分詞詞典和詞庫,會使搜索結果更加準確,避免噪音數據。

5.3結合業務場景,大量使用filter過濾器

filter緩存機制無疑會使檢索更快,而不需要使用計算相關評分的場景。

例如:過濾郵編號。

5.4控制返回字段和結果

和mysql查詢一樣,在業務開發中,select*操作幾乎是不必要的。

同理,在ES中,_sourc崇義seo網站優化e返回所有字段也是不必要的。

通過_source控制字段的返回,只返回與業務相關的字段。

網頁文本content,網頁快照html_content類似字段的批量返回,可能是業務設計缺陷。

顯然,摘要字段應提前寫入,而不是在截取處理之前查詢content。

5.5分頁深度查詢和遍歷

使用分頁查詢:from size;

遍歷使用:scroll;

并行遍歷使用:scroll slice。

考慮集合業務的選擇和使用。

5.6合理設置聚合Size

聚合結果是不準確的。除非你把size設置為2的32次冪-1,否則聚合結果是取每個片段的topsize元素后綜合排序的值。

實際業務場景需要注意準確的反饋結果。

盡量不要獲得全聚合結果——從業務層面獲得Topn聚合結果值是非常合理的。因為排名靠后的結果值意義不大。

合理實現5.7聚合分頁

當顯示聚合結果時,聚合后分頁必然會面臨問題,ES官員不支持聚合后分頁,因為性能原因。

若需要聚合后分頁,則需要自開發實現。包括但不限于:

方案一:每次取聚合結果,獲取內存中分頁返回。

方案二:scrolll結合scrollafter集合redis實現。

6、業務優化

讓Elasticsearch做它擅長的事情,顯然,它更擅長基于倒排索引進行搜索。

建議Elasticsearch更有效地檢索:

1)要做好“前戲”

在寫入ES之前的ETL階段,將字段提取、傾向分析、分類/聚類、相關性判斷放在ETL階段;

2)“睡衣”產品經理

基于各種奇妙的業務場景,產品經理可能會提出各種不合理的需求。

作為一名技術人員,我們應該“通知理性”,向產品經理解釋搜索引擎的原理,Elasticsearch的原理,什么可以做,什么真正的“妾不能做”。

7、小結

在實際的業務發展中,公司一般要求馬不吃草,想馬快跑。

Elasticsearch開發也是如此,硬件資源不足(cpu、幾乎沒有辦法提高內存和磁盤的性能。

除了檢索聚合,讓Elasticsearch做N多相關和不相關的工作,然后得出結論,“Elastic太慢了,沒有想象的那么快”。

類似的場景也出現在你的腦海里嗎?

提供相對NB的硬件資源,做好各種前期準seo網站關鍵詞優化乚品達備,讓Elasticsearch輕裝上陣,相信你的Elasticsearch也會飛起來!

以上是潮人地東莞seo博客跟大家分享關于seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)等問題,希望能對大家有所幫助,若有不足之處,請諒解,我們大家可以一起討論關于網站seo優化排名的技巧,一起學習,以上內容僅供參考。

閱讀全文
本文標題"seo優化技術:如何看待這種快照秒收方式-讓Elasticsearch飛起來(性能優化實踐干貨)":http://www.420113.com/jsfx_21994.html
本文版權歸潮人地seo博客所有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連接,否則保留追究法律責任的權利。
標簽:
合作伙伴
主站蜘蛛池模板: 国内精品久久久久久无码不卡| 亚洲中文久久精品无码| 精品久久亚洲中文无码| 中文字幕在线无码一区| 日韩精品中文字幕无码一区| 亚洲日韩av无码中文| 蜜臀亚洲AV无码精品国产午夜.| 久久午夜无码免费| 精品无码人妻一区二区三区不卡| 久久精品国产亚洲AV无码麻豆 | 久久久久亚洲AV无码去区首| 最新国产精品无码| 无码免费又爽又高潮喷水的视频 | 18禁无遮挡无码网站免费| 成人免费无码H在线观看不卡 | 国产在线无码视频一区二区三区 | 无码少妇一区二区三区芒果| 秋霞鲁丝片Av无码少妇| 国产精品无码专区在线观看| 久久精品日韩av无码| 99无码精品二区在线视频| 久久久久亚洲精品无码系列| 伊人久久综合无码成人网| 久久亚洲国产成人精品无码区| 久久美利坚合众国AV无码| 少妇久久久久久人妻无码| 久久男人Av资源网站无码软件| 久久久无码中文字幕久...| 国精品无码一区二区三区在线蜜臀 | 无码喷水一区二区浪潮AV| 亚洲精品无码久久| 久久水蜜桃亚洲AV无码精品| 中文字幕人成无码免费视频| 蜜臀AV无码一区二区三区| 亚洲AV无码专区在线电影成人| 日韩少妇无码喷潮系列一二三| 成人免费无码大片A毛片抽搐 | 97无码免费人妻超级碰碰夜夜| 亚洲欧洲无码一区二区三区| 亚洲欧洲av综合色无码| 午夜无码性爽快影院6080|