这是一个很长的镜头,但有没有任何工具,内置或第三方,允许你看到像总负载,每分钟查询数量,进程数等待锁定在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有一个写锁。