Gần đây tôi phải giải quyết bài toán 1 thời điểm chạy chiến dịch của 1 shop thương mại điện tử lớn, có hàng triệu request truy cập, dẫn đến tình trạng Mysql quá tải , 502 bad gateway

1. Tại sao cần ProxySQL?

Khi chạy website với WordPress hoặc Laravel, thường sẽ gặp tình trạng:

  • Quá nhiều kết nối MySQL/MariaDB ở trạng thái Sleep.

  • Gây lỗi “Too many connections” hoặc 502 Bad Gateway khi tải cao.

  • Ứng dụng mở/đóng kết nối liên tục (do PHP-FPM xử lý request ngắn hạn, không tái sử dụng connection).

👉 Giải pháp: dùng ProxySQL làm Connection Pooler (bộ gom kết nối) để tái sử dụng connection, giảm tải cho database server.

2. Kiến trúc tổng quan

  • Ứng dụng PHP kết nối tới ProxySQL thay vì kết nối trực tiếp MySQL.

  • ProxySQL giữ pool connection mở tới database, xử lý routing, caching query, load balancing

3. Cài đặt ProxySQL

3.1 Cài đặt trên Ubuntu/Debian

3.2 Cài đặt trên CentOS/RockyLinux

Mặc định:

  • MySQL client port: 6033

  • Admin interface port: 6032

4. Cấu hình ProxySQL
4.1 Truy cập admin console

(Mặc định password: admin)

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments