Mình đang host tại vultr và digitalocean , Server chỉ chạy 1 ngày 10 phút và cần chiụ dc khoảng 20 triệu request trong 10 phut đó, Đang chạy trên con vps 8core.16gb ram 160$/m nhưng vẫn bị lỗi 500, không biết config ntn cho nhanh giờ, request chỉ có update và get. db siêu nhẹ chỉ có 1MB và 3k record, tất cả đều index nhưng ko hiệu quả vì update và get chỉ trong 10phut thôi mong chỉ giáo
sao vs số tiền đó ko mua server. mình thấy bên online.net 160$ cũng ngon - Get thì cache lại - index ko đánh vào những cột thường xuyên update (gắn vào đây nó còn làm chậm đi chứ ko nhanh lên đâu). trước đây mình cũng đánh full. nhưng thường xuyên bị die. sau đó bỏ bớt ở mấy cột thường xuyên update (vd :: view) là okie lại
Theo bạn mô tả, với mình thì mình sẽ cache toàn bộ DB của bạn (có 3k rows với 1MB thôi) vào RAM, cụ thể bạn có thể dùng Redis https://redis.io, khi qua 10 phút căng thẳng này, thì code sẽ lưu 3k records từ RAM vào DB như MySQL. Website này của bạn khá đặc biệt nha vì chỉ chạy trong 10p và có tới 20 triệu request/10m.
Nghe đâu realtime databse như firebase chịu được 10k write/s. Bác thử xem sau giờ xổ số thì convert lại msql xiu chứ mấy.
Bác mô tả thêm request như thế nào để anh em có thể tư vấn xem, Vấn đề cần xem là điểm nghẽn nằm ở lớp nào để có phương án cho phù hợp
Với dữ liệu ít mà update liên tục thì bác nên sử dụng memcached. Với hệ thống chỉ online 10p thì bác nên chuyển sang sử dụng amazon service để tối ưu, ngoài ra nó cũng cung cấp nhiều dịch vụ hỗ trợ để bác scale nhanh chóng
Nếu sử dụng aws thì phải sử dụng các service nội tại của nó nữa. Một mình EC2 thì khác gì cloud server thông thường đâu
One year ago, our cluster was composed of 30 dedicated servers split in a hot-warm architecture. Our hot layer was composed of 15 servers with CPUs with 20 threads and 5 SSD disks in RAID0, while our warm layer was composed of 15 servers with lower CPUs in order to reduce the cost because the data inside the warm layer are less requested. 1 năm trước của nó kinh vãi, mà giá của nó cũng kinh vãi 1k5/1m :-s