Tunning Là Gì? Hướng Dẫn PostgreSQL Tunning

Bài viết này sẽ hướng dẫn bạn thực hiện PostgreSQL Tunning. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về support@vinahost.vn hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

1. Tunning là gì?

Tunning hiểu đơn giản là quá trình điều chỉnh hệ thống nhằm tối ưu các dịch vụ sử dụng trên hệ thống.

Để tối ưu một hệ quản trị database ta thường chia thành 2 phần:

+ Tối ưu dịch vụ theo thông tin phần cứng: dựa vào thông tin phần cứng sẵn có, điều chỉnh hệ thống và cấu hình postgresql.

+ Tối ưu dịch vụ theo tính phức tạp của dữ liệu và tần suất truy cập dữ liệu trên các database.

  • Tối ưu dịch vụ theo thông tin phần cứng, ta có thể thưc hiện ngay sau khi hoàn thành việc lắp đặt phần cứng và setup dịch vụ.
  • Tối ưu dịch vụ theo tình trạng database sử dụng ta cần theo dõi quá trình hoạt động và query trên hệ thống trong thời gain sử dụng và điều chĩnh lại các cấu hình cho phù hợp với hệ thống.

2. PostgreSQL Tunning

Việc cấu hình các thông số setting của PostgreSQL thường được thực hiện trên file config hoặc cấu hình trực tiếp trong môi trường query của PostgreSQL.

Để kiểm tra các cài đặt của database, có thể dùng lệnh `show all;` để liệt kê cấu hình hiện tại.

postgres=# show all;

Dưới đây dưới là một vài biến cấu hình chính có thể thay đổi để tối ưu database:

  • max_connections: số lượng kết nối tối đa từ application đến server. Thường được set là 100 hoặc 4X(cores). Trường hợp set max_connections quá cao, sẽ làm tăng kích thước của các cấu trúc dữ liệu khác nhau trong Postgres, điều này có thể dẫn đến việc các chu kỳ CPU bị lãng phí và làm giảm hiệu xuất database.
  • checkpoint_segments: checkpoint là một hành động định kỳ lưu trữ thông tin về hệ thống. Checkpoint được lưu lại sau một số lượng segments, hành động này khá tốn kém tài nguyên trên hệ thống. Do vậy có thể tăng giá trị biến cấu hình này để làm giảm độ thường xuyên checkpoint.
  • work_mem: lượng memory postgreSQL có thể sử dụng để xử lý các task. Trường hợp cần xử lý nhiều task phức tạp, ta có thễ tăng work_mem để tăng hiệu xuất xử lý. Đương nhiên cũng cần lưu ý lượng memory khả dụng trên hệ thống.
  • random_page_cost: khoảng thời gian mà trình tối ưu hóa dành ra để đọc bộ nhớ trước khi tương tác với disk.

Đây là một vài thông tin cấu hình cơ bản, các bạn có thể tham khảo thêm các cấu hình liên quan khác trong link sau (postgresql.runtime-config.html)

PostgreSQL Tunning

Ngoài ra còn có các tool giúp tính toán và tunning postgresql như PGTune. Giúp đơn giản hóa việc PostgreSQL Tunning.

Chúc bạn thực hiện PostgreSQL Tunning thành công!

THAM KHẢO CÁC DỊCH VỤ TẠI VINAHOST

>> SERVER – COLOCATION – CDN

>> CLOUD – VPS

>> HOSTING

>> EMAIL

>> WEBSITE

>> TÊN MIỀN

>> SSL – LICENSE

Đánh giá bài viết
Was this article helpful?
Đánh giá
Đánh giá bài viết
Đăng ký nhận tin

Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vinahost

    Bài viết liên quan
    Bình luận
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Phản hồi nội tuyến
    Xem tất cả bình luận