Chào anh em, gần đây web mình bị tình trạnh load rất chậm và rất hay bị 503 từ cloudflare "tình trạng ko phản hồi từ máy chủ", mình kiểm tra lệnh top trong command thì thấy báo cpu tăng cao với process mysql, trước đây hoàn toàn ko bị và mình cẩn thận backup dữ liệu đó sang một vps khác và thấy hoạt động bt ko như vps kia, mình bật chế độ "Under attack mode" trong cloudflare thì thấy process mysql giảm đáng kể. Vậy có phải web mình đang bị tấn công ko hay bot nó vào nhiều quá ah. Cảm ơn anh em.
Uh, chưa bro, phép lịch sự là cảm ơn thôi chứ cpu vps vẫn 300% vẫn phải bật chế độ ddos của cloudflare, hơi khó chịu với user nhưng tạm chấp nhận tại thời điểm này vì hôm qua bên vps gửi thư kêu vps highnload cao và sẽ đóng vps lại nên rất hoang mang.
Tks b, mình dùng wordpress, trước mọi thứ hoạt động rất bt mà ko hiểu sao tự nhiên bị như mình nói bên trên, vấn đề là mình bê nguyên dữ liệu web đó sang vps khác thì bt và khi bật chức năng ddos của cloudflare là cpu về trạng thái bt nhưng tắt cái y như rằng tăng đột biến.
Mình cũng từng giống như bạn, ban đầu traffic ít đồng nghĩa ít query nên web chạy bt, 1 thời gian tầm 3 tháng traffic tăng cao và web bắt đầu chạy ì ạch lag và cpu tăng cao, mình ít dùng plugin và kiểm tra data trong database thì wp-post mình tới 1 triệu bài nên dẫn tới query chậm mặt dù mình có dùng cache, bạn kiểm tra tối ưu database, dọn rác database, và dùng wordpress trung bình 200k post là web chạy bt.
Website bác bao nhiêu post? Có relatived/random post không ở cuối post hay sidebar không? Traffic hiện tại cao nhất là bao nhiêu/ngày/h? Nhiều nhất là ở post/page hay trang chủ?
Web mình có khảng 10k post, không random post, traffic hiện tại ~20 người online và khoảng ~4000 người truy cập cả trực tiếp lẫn search và dc phân bổ đều cho các post. Sau khi mình bật Slow Query để kiểm tra và phát hiện query này liên tục gửi: Code: # Time: 211213 1:04:16 # User@Host: xxx_xxx[xxx_xxx] @ localhost [] # Thread_id: 28303 Schema: xxx_xxx QC_hit: No # Query_time: 5.182961 Lock_time: 0.000086 Rows_sent: 1 Rows_examined: 47464 # Rows_affected: 0 Bytes_sent: 227 SET timestamp=1639379056; SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2021/09/coollogo_com-26466895.png'; # User@Host: xxx_xxx[xxx_xxx] @ localhost [] # Thread_id: 28307 Schema: xxx_xxx QC_hit: No # Query_time: 5.176407 Lock_time: 0.000031 Rows_sent: 1 Rows_examined: 47464 # Rows_affected: 0 Bytes_sent: 227 SET timestamp=1639379056; SELECT post_id, meta_value FROM wp_postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = '2021/09/coollogo_com-26466895.png'; # User@Host: xxx_xxx[xxx_xxx] @ localhost [] # Thread_id: 28306 Schema: xxx_xxx QC_hit: No # Query_time: 5.160854 Lock_time: 0.000032 Rows_sent: 1 Rows_examined: 47464 # Rows_affected: 0 Bytes_sent: 227
Này hình như là xem ảnh chèn vào là 1 url riêng, bác cấu hình với các trang này nó redirect về link ảnh gốc thử xem sao. Cách kiểm tra là vào tab media, click vào tùy chọn xem của ảnh đã up xem nó redirect về link ảnh gốc hay là post/page đã insert ảnh đó. Trong yoast SEO là tính năng này Chuyển tiếp đường dẫn đính kèm sang file đính kèm
Cảm ơn bạn để mình thử --- Double Post Merged, Dec 13, 2021, Original Post Date: Dec 13, 2021 --- Sau khi mình kiểm tra trong tab Media thì cái link ảnh nó kiểu thành 1 post đính kèm chính ảnh đó, vậy mình sẽ xoá nó đi để Yoast Seo nó hiện Bạn có muốn chuyển tiếp đường dẫn này rồi mình paster luôn link ảnh gốc là dc hả bạn, ý như vậy đúng ko bạn. --- Double Post Merged, Dec 13, 2021 --- Cảm ơn bạn @Nai rất nhiều mình làm dc rồi, sau khi chuyển hướng thì trong slow query không còn thông báo đó nữa và CPU giảm dc xuống đáng kể, mình vẫn tiếp tục theo rõi thêm. Thank Again.
Trước mình cũng hay dính vài con vps bị vậy Mình tạo con vps mới, move dữ liệu sang là hết bệnh, ảo lắm
thật hả bạn, mình fix dc lúc nó lại bị high cpu như có người trực chờ để tấn công, đến giờ này hết bài rồi đành cố đến gần hạn thì tạo con mới. --- Double Post Merged, Dec 14, 2021, Original Post Date: Dec 13, 2021 --- cuối cùng cũng tìm dc ra nguyên nhân anh em à, do theme update bị lỗi là mỗi khi một user hay bot nó request vào web là một lần mysql thực hiện query cái ảnh logo đính kèm đó, nhưng do ảnh không thuộc dạng file mà là dạng post/page nên query đó nó thành vòng lặp cứ thế làm cho mysql chiếm dụng cpu liên tục và cho dù có chuyển hướng cũng ko dc, nên giải pháp là sửa code vị trí đó ko cho show logo ra nữa là ok luôn, qua vụ việc lần này mình đúc kết dc cơ số kinh nghiệm từ hướng dẫn của anh em. Cảm ơn anh em nhiều.