Điểm:1

Nút thắt cổ chai MySQL / Máy chủ Web

lá cờ jp

Tôi đang cố gắng xác định nút cổ chai của máy chủ MySQL/Web.

Tôi có ba máy chủ. Một máy chủ Web chạy Nginx, một máy chủ MySQL từ xa với DB Wordpress của tôi và một máy chủ MySQL từ xa khác lưu trữ dữ liệu của chúng tôi.

Nút cổ chai mà tôi đang cố gắng tìm ra là giữa máy chủ MySQL thứ hai đang lưu trữ dữ liệu của chúng tôi và máy chủ Web của tôi.Chúng tôi có một trang có ba DataTables trên đó (ba truy vấn riêng biệt). Nó đang tải rất chậm, nếu tất cả đều như vậy. Thỉnh thoảng, tôi sẽ gặp lỗi hết thời gian chờ cổng.

Tôi không nghĩ bản thân các truy vấn là vấn đề. Từ DataGrip, cả ba trung bình trong khoảng 200-500 mili giây. Hiện tại, các truy vấn không được lập chỉ mục vì tôi đã được thông báo rằng plugin không thể tận dụng lợi thế của các chỉ mục, nhưng tôi vẫn có thể thử.

Phần cứng và thiết lập:

Máy chủ MySQL của tôi là AWS R6G.Large, 2 lõi và 16gb ram, SSD 150 IOPS và thông lượng 128 MB. innodb_page_size là 32, buffer_pool_size là 11000M, innodb_buffer_pool_instances là 10 và innodb_log_file_size là 1G Máy chủ web là AWS C6G.Xlarge, 4 nhân và ram 8gb, SSD 150 IOPS và thông lượng 128 MB. Sử dụng FPM và Opcache.

Tôi đã thử theo dõi bằng TOP trên cả hai máy chủ, nhưng thành thật mà nói, tôi không chắc mình có đủ kiến ​​thức để sử dụng thông tin đúng cách hay không.

Tôi thực sự muốn xác định xem đó là phần cứng hay phần mềm, bằng cách nào đó và nếu đó là phần cứng thì có cách nào để cô lập không? Tôi không gặp vấn đề gì khi tăng phần cứng nếu đó thực sự là vấn đề.

Tôi không chắc liệu điều này có được cho phép trên Stack/ServerFault hay không, nhưng tôi cho rằng có thể dễ dàng biết được điều gì đang xảy ra hơn nếu tôi ghi lại màn hình của mình với TOP đang chạy trên cả hai máy chủ. Tôi đã thêm một video vào Google Drive công khai của mình. Video có cả máy chủ MySQL của tôi (ở trên cùng) và máy chủ Web (Nginx, ở dưới cùng). Những gì tôi đã làm là tải trang (dấu 3 giây trong video) và ghi lại kết quả. Video là 1:05, mất bao lâu để bàn cuối cùng xuất hiện. Video được ghi lại trong khi trang web của tôi đang bảo trì, vì vậy không có IP/lưu lượng truy cập nào khác có thể đến cả hai máy chủ.

Liên kết ổ đĩa google của tôi:

https://drive.google.com/drive/folders/1NtdE1Z4875i1Xx2Wy2EXGgknt9yuY1IN?usp=sharing

Hy vọng rằng ai đó có thể giúp đỡ.

Aimee

Michael Hampton avatar
lá cờ cz
Video có chất lượng thấp đến mức gần như không thể hiểu được bất cứ điều gì. Nhưng có vẻ như mysqld đang chạy ở 100% CPU trong toàn bộ thời gian. Điều này cho thấy rằng các truy vấn của bạn thực sự là vấn đề. Chạy mysqltuner.pl và gửi đầu ra ở đây.
aimee avatar
lá cờ jp
@MichaelHampton, Lạ nhỉ. Chất lượng tốt trên máy tính để bàn và điện thoại di động của tôi.Tôi không quen thuộc với mysqltuner. Tôi sẽ google nó. Cảm ơn
djdomi avatar
lá cờ za
@MichaelHampton Tôi có nên hỗ trợ bạn sửa Internet không? XD Không, xin lỗi, Chất lượng rất tuyệt, có vẻ như google làm bạn lo lắng. Tuy nhiên, tôi nghĩ ý của bạn là [dự án GitHub này](https://github.com/major/MySQLTuner-perl)
djdomi avatar
lá cờ za
@aimee tôi nghĩ, bạn chỉ có thể đăng bài tương tự chỉ bằng một Tin nhắn văn bản vì nó sẽ dễ dàng hơn
lá cờ ua
Các máy chủ _về mặt vật lý_ có cách xa nhau không? (Tôi đang tìm độ trễ của mạng.)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.