亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Elasticsearch寫入瓶頸導致skywalking大盤空白怎么解決

發布時間:2022-02-28 16:10:54 來源:億速云 閱讀:330 作者:iii 欄目:開發技術

本篇內容主要講解“Elasticsearch寫入瓶頸導致skywalking大盤空白怎么解決”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Elasticsearch寫入瓶頸導致skywalking大盤空白怎么解決”吧!

    前言

    繼上次skywalking出故障《解析Arthas協助排查線上skywalking不可用問題》不到一個月,線上skywalking又出毛病了。又是大盤空白,trace列表最近的數據都查詢不出來,但是時間稍久的數據就能查詢出來,如一天前的數據有,一個小時前的數據就沒有,這個只是表象,最終查明癥結是ES的服務寫入瓶頸,導致寫入寫入數據的線程阻塞導致的。下面是排錯過程以及解決方案說明。

    問題定位

    工具還是那個工具Arthas,不了解的可以翻閱我之前的博文,這里不多說明Arthas。不過這次我們應用了一個新的進階指令thread,它可以查看當前線程信息,查看線程的堆棧。當skywalking大盤沒有數據時,使用如下指令:

    thread -b

    THREAD -B, 找出當前阻塞其他線程的線程

    有時候我們發現應用卡住了, 通常是由于某個線程拿住了某個鎖, 并且其他線程都在等待這把鎖造成的。 為了排查這類問題, arthas提供了thread -b, 一鍵找出那個罪魁禍首。最后得到如下的結果:

    如上圖,相信大家已經看到問題所在了,重點在紅色字體箭頭指向的部分,不得不說Arthas做的太棒了。癥結就是ES的批量寫入失敗線程阻塞了。后從社區了解到是因為ES寫入瓶頸,導致skywalking在批量寫入索引的時候線程阻塞了。導致阻塞的那段時間的數據都沒有寫到ES,然后查詢是沒有問題的,表象就是skywalking的大盤空白也查詢不到近期的數據了。

    解決方案

    臨時方案,SKYWALKING參數調優

    skywalking寫入ES的操作是使用了ES的批量寫入接口。我們可以調整這些批量的維度。盡量降低ES索引的寫入頻率,如:

    elasticsearch:
        clusterNodes: 192.168.20.221:9200 indexShardsNumber: 2 indexReplicasNumber: 0 # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html bulkActions: 4000 # Execute the bulk every 2000 requests bulkSize: 40 # flush the bulk every 20mb flushInterval: 30 # flush the bulk every 10 seconds whatever the number of requests concurrentRequests: 2 # the number of concurrent requests receiver-register: default:
    receiver-trace: default:
        bufferPath: ../trace-buffer/ # Path to trace buffer files, suggest to use absolute path bufferOffsetMaxFileSize: 500 # Unit is MB bufferDataMaxFileSize: 1000 # Unit is MB bufferFileCleanWhenRestart: false

    調整bulkActions默認2000次請求批量寫入一次改到4000次。批量刷新從20M一次到40M一次。這種配置調優確實生效了,重啟服務后兩三天了都沒有出現過ES寫入阻塞的問題。不過這種設置只是暫時的,你只能期望流量不突發,或者應用不增加。一旦遇到突發流量和應用的增加,ES寫入瓶頸還是會凸顯出來。而且參數設置過大帶來了一個新的問題,就是數據寫入延時會比較大,一次服務交互發生的trace隔好久才能在skywalking頁面上查詢到。所以最終解決方案是優化ES的寫入性能。

    最終方案-優化ES的寫入性能

    如果是自建Elasticsearch服務,在基礎大數據團隊負責搜索引擎 Elasticsearch 優化和開發,博文里分享了很多可調優配置的參數。不過我們這邊綜合運維人力和支出方面的考慮,決定采用阿里云提供的Elasticsearch,不過這帶來了一個新的問題,阿里云的ES服務不論內外網都需要Http Basic認證,但是目前的skywalking并沒有提供這種支持。

    到此,相信大家對“Elasticsearch寫入瓶頸導致skywalking大盤空白怎么解決”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    万载县| 湘潭市| 大方县| 海安县| 临朐县| 澄城县| 偃师市| 七台河市| 清丰县| 太和县| 肥乡县| 普定县| 金华市| 宜良县| 隆安县| 东阿县| 台山市| 神池县| 全南县| 贺州市| 嵩明县| 建始县| 九龙县| 烟台市| 蒙城县| 嫩江县| 融水| 紫阳县| 巴中市| 萝北县| 咸阳市| 天气| 九寨沟县| 贺州市| 广西| 黎川县| 工布江达县| 应城市| 介休市| 色达县| 香港|