thắc mắc v/v query với replica mysql

showmethemoney

Đã tốn tiền
Hello mọi người, mình đang gặp chút trục trặc với thằng mysql. Hạ tầng mình sử dụng là dịch vụ mysql của google cloud, trong đó có main instance 8vCPU, 32Gb ram và 1 instance replica được cấu hình giống hệt. Khi mình chạy query trên main instance thì kết quả trả về sau khoảng 2s, trong khi chạy query đó ở replica thì kết quả là đợi trong vô vọng. Con replica thì được cấu hình dạng read only, chỉ dùng để select kết quả trả cho dashboard báo cáo, không có write process.
Mình sợ nó bị quá tải nên có check system insight ở thời điểm query thì resource consume của main và replica đều tương đương nhau, khoảng 40%CPU, 90% RAM và lượng connection rất nhỏ so với con số max (khoảng 4k). Mình cũng đã check trạng thái replicate của node replica bằng "SHOW SLAVE STATUS" thì trạng thái là delay sau master 1s, toàn bộ các schema, index và data đều đã được replicate sang. Mình cũng check execution plan của query thì 2 bên đều giống hệt nhau. Cũng đã thử restart replica nhưng kết quả vẫn vậy.
Hi vọng có cao nhân nào đi qua chỉ giáo với ạ!
 
Hello mọi người, mình đang gặp chút trục trặc với thằng mysql. Hạ tầng mình sử dụng là dịch vụ mysql của google cloud, trong đó có main instance 8vCPU, 32Gb ram và 1 instance replica được cấu hình giống hệt. Khi mình chạy query trên main instance thì kết quả trả về sau khoảng 2s, trong khi chạy query đó ở replica thì kết quả là đợi trong vô vọng. Con replica thì được cấu hình dạng read only, chỉ dùng để select kết quả trả cho dashboard báo cáo, không có write process.
Mình sợ nó bị quá tải nên có check system insight ở thời điểm query thì resource consume của main và replica đều tương đương nhau, khoảng 40%CPU, 90% RAM và lượng connection rất nhỏ so với con số max (khoảng 4k). Mình cũng đã check trạng thái replicate của node replica bằng "SHOW SLAVE STATUS" thì trạng thái là delay sau master 1s, toàn bộ các schema, index và data đều đã được replicate sang. Mình cũng check execution plan của query thì 2 bên đều giống hệt nhau. Cũng đã thử restart replica nhưng kết quả vẫn vậy.
Hi vọng có cao nhân nào đi qua chỉ giáo với ạ!
Vãi cả 90% RAM :)))) thế thì còn làm ăn gì nữa thím
 
Có thể là do khi query thì con slave nó lại đang đc update từ main nên table bị lock, xong hết lock nó chạy thì lại bị lock vì query ~2s nhưng cứ 1s là lại có cập nhật mới nên thành ra cái query nó cứ chạy hoài ko xong :D
 
Có thể là do khi query thì con slave nó lại đang đc update từ main nên table bị lock, xong hết lock nó chạy thì lại bị lock vì query ~2s nhưng cứ 1s là lại có cập nhật mới nên thành ra cái query nó cứ chạy hoài ko xong :D
Cũng có thể bác ạ, mà kì cục 1 cái là ở thời điểm đó, mình tạo 1 replica khác là slave của main replica với cấu hình tương đương, chỉ chạy mỗi query kia thì nó lại chạy được.
 
Cũng có thể bác ạ, mà kì cục 1 cái là ở thời điểm đó, mình tạo 1 replica khác là slave của main replica với cấu hình tương đương, chỉ chạy mỗi query kia thì nó lại chạy được.
bác thử chạy show process list trên con slave bị lag xem nó có đang kẹt đâu đó ko pác :v
được thì bạn show cái kết quả của lệnh:
"SHOW SLAVE STATUS" và show processlist
lên đây luôn xem
 
Last edited:
Back
Top