我的应用程序使用Postgres作为数据库管理系统,我正在使用安装了Postgis扩展的版本为10.3的Postgres。
偶尔我注意到,在随机时间间隔内,DBMS会变得缓慢,并且卡在一些SELECT查询上。
从pg_stat_activity
中我注意到这些查询的wait_event_type
和wait_event
如下:
select wait_event_type, wait_event from pg_stat_activity where state='active';
wait_event_type | wait_event
-----------------+--------------
IO | DataFileRead
IO | DataFileRead
IO | DataFileRead
IO | DataFileRead
LWLock | buffer_io
LWLock | buffer_io
IO | DataFileRead
LWLock | buffer_io
LWLock | buffer_io
IO | DataFileRead
IO | DataFileRead
LWLock | buffer_io
LWLock | buffer_io
IO | DataFileRead
LWLock | buffer_io
IO | DataFileRead
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
LWLock | buffer_io
IO | DataFileRead
IO | DataFileRead
|
IO | DataFileRead
LWLock | buffer_io
LWLock | buffer_io
(33 rows)
在查看了文档后,我的假设是底层硬件存在问题,因此我面临的问题与应用程序或查询类型无关,而是与硬件本身有关。
有人遇到过这种问题吗?