這是一個很長的鏡頭,但有沒有任何工具,內置或第三方,允許你看到像總負載,每分鐘查詢數量,進程數等待鎖定在sqlite數據庫?多個進程共享一個sqlite數據庫。我們想知道它是否是應用程序中的瓶頸。在sqlite數據庫上測量負載
感謝
這是一個很長的鏡頭,但有沒有任何工具,內置或第三方,允許你看到像總負載,每分鐘查詢數量,進程數等待鎖定在sqlite數據庫?多個進程共享一個sqlite數據庫。我們想知道它是否是應用程序中的瓶頸。在sqlite數據庫上測量負載
感謝
SQLite是不是一個客戶機/服務器的數據庫,所以沒有將能夠收集這些信息的中央服務器。
所有應用程序都訪問相同的數據庫文件,因此您必須使用操作系統的機制來監視此文件上的訪問/鎖定。
我不知道一個工具,但你可以用lslocks
做一些簡單的分析。例如:
$ flock /tmp/b sleep 100 &
$ flock /tmp/b sleep 10 &
$ lslocks | grep /tmp/b
flock 32752 FLOCK 18.4K WRITE* 0 0 0 /tmp/b
flock 32750 FLOCK 18.4K WRITE 0 0 0 /tmp/b
的*
表演過程32752正在等待該文件的寫鎖, 而32750有一個寫鎖。