Tôi có một bảng khá lớn (1 triệu hàng) và cơ sở dữ liệu của tôi bị kẹt trên chế độ tự động (> 30 phút) trên bảng này, khiến toàn bộ cơ sở dữ liệu bị kẹt. Ứng dụng thậm chí sẽ không tải ngay bây giờ.
-00:37:31.137859 autovacuum: VACUUM public.users
SELECT n_tup_del, n_tup_upd FROM pg_stat_all_tables WHERE relname = 'users';
Đây là các cài đặt tự động lưu trên bảng người dùng của tôi:
autovacuum_vacuum_scale_factor=0.0,
autovacuum_vacuum_threshold=5000,
autovacuum_analyze_scale_factor=0.0,
autovacuum_analyze_threshold=5000
Những cài đặt được đề xuất này tôi đã sử dụng từ Slow PostgreQuery Performance? Đừng quên hút bụi cơ sở dữ liệu của bạn
Tôi có phải đợi nó không? Những lựa chọn của tôi là gì?
Cập nhật
Tôi đã nâng cấp lên Postgres 9.5 và cũng đã tăng RDS IOPS của mình lên 900 và quá trình chân không vẫn tối đa hóa IOPS và không thể làm gì khác với cơ sở dữ liệu. Quá trình đã diễn ra tại một thời điểm 1 ngày trước khi nâng cấp.
Tôi cũng đã xóa các cài đặt tự động tùy chỉnh mà tôi có và bây giờ chỉ sử dụng mặc định.
Đây là một tập tin đính kèm kết quả của các truy vấn này;
SELECT * FROM pg_stat_activity;
SELECT * FROM pg_stat_database;
SELECT * FROM pg_stat_user_tables;
SELECT * FROM pg_stat_user_indexes;
SELECT * FROM pg_locks;
vacuum_cost_limit
ở mức cao hơn, nhưng khó có thể nói điều đó liên quan đến vấn đề IOPS mà bạn đang gặp phải