暴衝的硬碟使用量-binlog 大軍

分享
暴衝的硬碟使用量-binlog 大軍
_e983c6ba-504c-4f0a-a8a9-e4344dbf0715

使用 mysql v8 當資料庫,某一天查看硬碟使用量赫然發現竟然用了 100 多 GB 的空間!
我就感到好奇了,我的總資料量也才 600MB,加上一些衍生計算和 index 應該也不會超過 5 GB 的使用量。所以我就開始檢查為什麼 mysql 會突然佔用了這麼多的空間。

在 /var/lib/mysql 路徑底下多了好多個 binlog.XXXXXX 的檔案,每個檔案都不小。上網查詢後才知道這些是 mysql 的更新操作所產生的語法紀錄,是用來還原資料或是叢集資料庫架構所需要的紀錄檔案,但我只是單資料庫架構的話好像就不需要一直產生這樣的 log 出來。

從網路上的資料看起來有幾種調整方式:

調整 binlog_expire_logs_seconds 值,縮短過期清除時間

默認是 2592000s => 30 天
執行 set global binlog_expire_logs_seconds = 300 便會生效,記得要設置 global 的變數
可以用 show variables like '%expire%' 查看設定

補充知識,Copilot 提供:
set binlog_expire_logs_seconds 與 set global binlog_expire_logs_seconds
之間的主要區別在於設置的範圍和持久性:

設置範圍:
- set binlog_expire_logs_seconds = 300:這個命令設置的是當前會話(session)的二-進制日誌過期時間。它只對當前連接的 MySQL 會話有效,並不會影響到其他會話或者新的連接會話。
- set global binlog_expire_logs_seconds = 300:這個命令設置的是全局範圍內的二進制日誌過期時間。它對所有新建立的連接會話有效,但不會影響到已經存在的會話。

但如果不在 MySQL 配置文件(如 my.cnf 或 my.ini)中進行相應設置,重啟 MySQL 服務後這些變更將丟失。
因此,如果您想要永久改變二進制日誌的過期時間,您應該在 MySQL 的配置文件中添加這個設置,以確保在服務重啟後設置仍然有效。

調整  log_bin 設置,關閉紀錄功能

默認是 ON
查看 show variables like '%log_bin%';
執行 set global log_bin = OFF;

感謝其他程式大神的文章讓我獲益良多,下面放上參考文章

Read more

Gaze Guard 短影片旁白的 TTS 成本與隱私防護示意圖

短影片旁白的成本,其實比我想像低

我最近在做一支 Gaze Guard 的 20 秒產品介紹影片。 原本想說簡單做個動畫就好。 後來想說如果有配音,會感覺比較生動也比較能夠描述使用的情境和達成的效果。 這次我測了什麼 我測的是產品介紹影片用的英文旁白。 工具底層使用的是 Edge TTS,也就是 Microsoft Edge 的線上 Text-to-Speech 服務。常見的底層工具是 edge-tts。 這不是正式 Azure Speech API 的計費路徑。 在我這次的環境裡,它沒有要求 API key,也沒有回傳可見的 per-use billing。 所以這次測試本身,比較像是快速 prototype。 如果未來要正式商用、穩定大量產出,就要回頭看 Azure Speech、OpenAI TTS、ElevenLabs 這類正式付費方案。

By SteepingLogic
用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard

用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard

# 用 Cloudflare Tunnel,從外面連回本機 Hermes Dashboard 我有一台 local Hermes。 平常它就在自己的機器上跑。 可能是家裡的桌機。 可能是 NAS。 可能是一台一直開著的 Linux box。 也可能只是我自己的筆電。 問題是,人一離開那個網路,Hermes dashboard 就變成一個只存在於 localhost 的東西。 我想在外面打開它。 但我沒有 static IP。 沒有買網域。 也不想進路由器開 port forwarding。 因為那條路通常長這樣: * 找 public IP * 設定 NAT * 開 port * 處理防火牆 * 補 HTTPS * 設定憑證 * 再擔心 origin IP 被掃 非常友善。 所以這篇先走另一條路:

By SteepingLogic
Invoshot 開發日記|正向回饋

Invoshot 開發日記|正向回饋

想信很多人在開發的時候都常常會做一件事,那就是: 不斷地反覆思考,在腦袋內把流程跑過很多次,然後思考哪裡可以做得更好 不限坐在電腦前的時後,可能是在捷運上,在人行道上, 在馬桶上或是在洗澡的時候 🤪 我不斷地在想:AI 辨識完一張發票後,使用者接下來最需要的是什麼? 每個欄位都要核對嗎? 這麼多欄位真的不會漏看嗎? 所以我在 Invoshot 裡加了提醒功能。 辨識結果出來後,系統會把比較需要注意的地方標出來。 不是把所有不確定都丟給使用者,而是把他真正需要介入的那幾秒鐘留出來。 今天收到一則訊息: 今天用了有新增提醒功能很棒! 真的有變輕鬆 😎 看到這句的時候,我第一個想到的是: 原來那些只是我腦內風暴的優化項目,使用者是真的可以感受到差異的! 感覺又有動力了!

By SteepingLogic