dsh-session-repacker:把 DSH 會話日誌重打包爲官方兩幀形態,舊會話打開提速約 6 倍
# 前言 如果你用 DSH 跑過長會話,大概率遇到過這種情況:點開一箇舊會話,要等上好幾秒纔有反應。問題出在存儲層——DSH 的 JSONL 會話後端每次寫入批處理都會單獨壓縮成一個 zstd 幀再追加到文件尾部,一個長會話動輒上萬個幀;而讀取時必須逐幀解壓,後端又沒有 seek 式後綴讀取,無論只要尾部還是全部,都得解碼整個文件。 幀數是歷史寫入定形的,事後無法自己收縮。`kkishapppy/dsh-session-repacker` 就是針對這個問題:把散落的萬幀日誌重打包成官方原生形態,實測最大會話打開耗時從約 661ms 降到約 126ms。
閱讀全文