Thứ Năm, 22 tháng 1, 2026

Tối ưu hiệu năng các container PostgreSQL trong môi trường Docker

Tối ưu hiệu năng cho các container PostgreSQL trong môi trường Docker bao gồm việc tối ưu hóa cả cấu hình container và PostgreSQL để đảm bảo cơ sở dữ liệu hoạt động hiệu quả. Dưới đây là một số mẹo giúp bạn đạt được hiệu năng tốt nhất từ ​​các container PostgreSQL của mình:

1. Phân bổ tài nguyên một cách khôn ngoan: Sử dụng các cờ `--require` --memoryvà ` --cpus--require` để phân bổ tài nguyên phù hợp cho vùng chứa PostgreSQL. Hãy đảm bảo vùng chứa có đủ bộ nhớ và tài nguyên CPU để xử lý khối lượng công việc mà không gây ra xung đột tài nguyên với các vùng chứa khác hoặc hệ thống máy chủ.

  • docker run --memory=4g --cpus=4 ...

2. 
Sử dụng phân vùng riêng để lưu trữ dữ liệu: Để cải thiện hiệu suất I/O, hãy sử dụng phân vùng riêng hoặc gắn thư mục máy chủ để lưu trữ dữ liệu PostgreSQL. Điều này đảm bảo tính bền vững của dữ liệu và cho phép hiệu suất I/O ổ đĩa tốt hơn.
  • docker run -v /path/to/host/directory:/var/lib/postgresql/data ...

3. Tối ưu hóa cấu hình PostgreSQL: Tạo một 
postgresql.conftệp cấu hình tùy chỉnh với các thiết lập được tối ưu hóa cho khối lượng công việc của bạn. Một số thiết lập quan trọng cần xem xét là:
  • shared_buffersTăng dung lượng bộ nhớ đệm dùng chung để chứa được nhiều dữ liệu hơn trong bộ nhớ.
  • effective_cache_sizeTăng kích thước bộ nhớ đệm để cải thiện khả năng ra quyết định của bộ lập kế hoạch.
  • work_memTăng dung lượng bộ nhớ làm việc để thực hiện các thao tác truy vấn phức tạp hơn.
  • maintenance_work_memTăng dung lượng bộ nhớ bảo trì để tăng tốc các thao tác dọn dẹp và tạo chỉ mục.
  • max_connectionsĐiều chỉnh số lượng kết nối tối đa cho phép dựa trên nhu cầu của ứng dụng.
  • checkpoint_completion_targetTăng mục tiêu hoàn thành điểm kiểm tra để phân bổ thao tác I/O điểm kiểm tra trong một khoảng thời gian dài hơn.

4. Gắn tệp cấu hình tùy chỉnh vào vùng chứa và trỏ đến nó bằng 
POSTGRES_CONFIG_FILEbiến môi trường:
  • docker run -v /path/to/custom/postgresql.conf:/etc/postgresql/postgresql.conf -e POSTGRES_CONFIG_FILE=/etc/postgresql/postgresql.conf ...

5. Sử dụng giải pháp quản lý kết nối: Áp dụng giải pháp quản lý kết nối, chẳng hạn như PgBouncer hoặc Pgpool-II, để giảm thiểu chi phí kết nối và cải thiện hiệu suất. Điều này có thể được thực hiện bằng cách chạy một container riêng biệt cho trình quản lý kết nối và liên kết nó với container PostgreSQL.

6. Bật biên dịch JIT: Bật biên dịch Just-In-Time (JIT) trong PostgreSQL để cải thiện hiệu suất truy vấn cho các khối lượng công việc phức tạp. Thêm các thiết lập sau vào postgresql.conftệp cấu hình tùy chỉnh của bạn:
  • jit = on max_jit_above_cost = 100000
  • min_jit_inline_above_cost = 100000
  • jit_inline_above_cost = 50000

7. Sử dụng chỉ mục phù hợp: Hã
y đảm bảo lược đồ cơ sở dữ liệu của bạn có chỉ mục phù hợp để tăng tốc hiệu suất truy vấn. Thường xuyên phân tích và tối ưu hóa chiến lược lập chỉ mục dựa trên các mẫu truy vấn và tần suất truy cập.

8. Dọn dẹp và phân tích: Thường xuyên dọn dẹp và phân tích cơ sở dữ liệu để cập nhật số liệu thống kê và loại bỏ các hàng không sử dụng. Điều này giúp trình lập kế hoạch truy vấn của PostgreSQL đưa ra quyết định tốt hơn.

9. Giám sát hiệu năng: Sử dụng các công cụ giám sát như docker statspg_stat_statements, hoặc các giải pháp của bên thứ ba để theo dõi hiệu năng của container PostgreSQL. Việc giám sát thường xuyên giúp xác định các điểm nghẽn hiệu năng và các lĩnh vực cần cải thiện.

Bằng cách làm theo các mẹo tối ưu hiệu năng này, bạn có thể tối ưu hóa các container PostgreSQL trong môi trường Docker, đảm bảo hoạt động cơ sở dữ liệu hiệu quả và phản hồi nhanh chóng cho các ứng dụng của bạn

Cảm ơn bạn đã đọc bài viết này.

=============================
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master