簡體   English   中英

在apache點火集群上寫緩存數據時,sql查詢很慢

[英]sql query is slow when writing cache data on apache ignite cluster

測試apache點燃2.7.0和2.3.0,如果沒有寫入緩存數據,sql查詢速度很快,但是當我寫數據時,sql查詢比較慢,為什么?

如何在數據寫入apache點火緩存時快速進行SQL查詢? 或者如何在apache點火上分離緩存讀寫?

如下定義緩存實體ABData,並使用Streamer.add方法加載3000 ABDatas 10次。 每次我們已經加載了所有ABData之后(假設在10分鍾之后,這意味着已經將3000個ABDatas添加到了點火緩存中),運行SqlFieldQuery('select * from ABData'),所有ABDatas都會在5毫秒內返回。 但每次當3000 ABDatas仍在加載時(例如,每次加載ABData之前,我們啟動另一個線程來使用SqlFieldQuery查詢ABData),運行SqlFieldQuery('select * from ABData'),所有ABDatas在100之后返回毫秒。

public class ABData {

    @QuerySqlField(index = true)
    private String code;

    @QuerySqlField(index = false)
    private String configData;

    @QuerySqlField(index = false)
    private Integer categoryID;

}

很難說這里發生了什么。 我建議你調試這個問題,采取例如堆棧跟蹤並試圖找出時間花在哪里/鎖定發生的地方。

然后,您的方案可能會出現一些問題,例如創建短期服務器節點來進行數據流傳輸。 當他們來或離開時,他們將觸發重新平衡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM