Con VPS của em cũng đang chiếm hơn 60% CPU, em restart lại mysql thì sáng giờ nó cứ hơn 100% mysql miết anh. Trường hợp này mua thêm ssd để cache html để tiết kiệm hay sao anh
Đầu tiên là phải review code xem có bị củ chuối hay không. Thấy post bên kia em nói có mấy trăm UV/day mà đã bị như vậy rồi chứng tỏ code lởm Còn nếu không code được thì tốt nhất nên dùng con Server tầm 30$/tháng của WSI có HDD lớn (tầm 2Tb) rồi tạo cache.
Dạ do code lởm rồi anh. Em check thấy hàm order by rand() hơn 7s/querry mà có tới 2 - 3 cái như vậy nên bị chậm. Có cách nào random theo cat mà chỉ tốn tầm 1s thôi hem anh
Vụ này có bài thảo luận rất chi tiết rồi còn gì. Tóm tắt lại là hoặc: - ko random theo cate nữa, select min id và max id, sinh random 20 số trong khoảng min max đó và dùng select ... where id in (dãy id random kia) limit 10 (sinh random 20 nhưng query limit 10 để tránh tình trạng id không liên tiếp) - hoặc vẫn random theo cate thì phải chấp nhận lần đầu chậm, query ra list id rồi lưu vào 1 column trong table product, lần sau nếu column random_id đã có giá trị rồi thì select where id in (random_id)