Hiệu suất Postgresql - Điều chỉnh SHMMAX và SHMALL


9

Tôi đã đọc tất cả mọi thứ trên mạng về việc cải thiện hiệu suất của postgres, nhưng các giá trị "đúng" cho SHMMAX và SHMALL vẫn trốn tránh tôi.

Sự đồng thuận dường như là SHMMAX = total_memory / 4 và SHMALL = total_memory / 2 là các giá trị bắt đầu an toàn.

Tuy nhiên, SHMALL có thể được đo bằng trang hoặc byte và tôi không thể tìm thấy bất kỳ thông tin nào được sử dụng trên Ubuntu.

Ubuntu (hay nói chung là Debian) có sử dụng các trang hoặc byte cho SHMALL không?

Câu trả lời:


11

Đối với tất cả các hệ thống Linux mà tôi sử dụng SHMALLđược đo bằng trang và SHMMAXđược đo bằng byte. Tôi nghĩ rằng bạn có thể kiểm tra hệ thống của mình bằng ipcslệnh, lệnh này luôn chuyển đổi các tham số trên KBytes trong khi đầu ra và so sánh nó với sysctlcác giá trị:

[aseryozhin@centos ~]$ ipcs -l

------ Shared Memory Limits --------
max number of segments = 4096               // SHMMNI   
max seg size (kbytes) = 524288              // SHMMAX
max total shared memory (kbytes) = 8388608  // SHMALL
min seg size (bytes) = 1

[aseryozhin@centos ~]$ sysctl -e kernel.shmmax
kernel.shmmax = 536870912

[aseryozhin@centos ~]$ sysctl -e kernel.shmall
kernel.shmall = 2097152

[aseryozhin@centos ~]$ getconf PAGE_SIZE
4096

SHMMAX: 524288 * 1024 = 536870912

CHIA SẺ: 8388608 * 1024/4096 = 2097152


2

Các biến này được đo bằng byte như được nêu trong tài liệu. Tôi nghĩ điều quan trọng hơn là nhìn vào các tham số cấu hình postgresql. Bạn cần xem xét các giá trị SHMALL / SHMMAX khi cần. Ví dụ: nếu bạn muốn tăng số lượng kết nối tối đa, bạn có thể cần tăng các giới hạn này.

Điều chỉnh máy chủ cơ sở dữ liệu tùy thuộc vào kiểu sử dụng của bạn, chẳng hạn như số lượng kết nối đồng thời và kích thước cơ sở dữ liệu. Tăng một tham số cấu hình không phải lúc nào cũng tốt.


2
Cần tăng SHMMAX để tăng shared_buffers, loại trái cây treo thấp nhất khi nói đến hiệu suất postgresql. Bạn có thể thêm một liên kết đến các tài liệu?
Enrico

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.