Hỏi/ Thắc mắc - Database web lớn và giải pháp cân bằng tải? | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hỏi/ Thắc mắc Database web lớn và giải pháp cân bằng tải?

hgn389

Gà con
Chào mọi người.
Giả dụ mình có 1 website như wordpress or xenforo, code và tập tin, hình ảnh khoảng 100GB và database khoảng 30GB thì web sẽ rất nặng cho dù chạy trên con server ngon với SSD M2 NVMe Gen4. 16core Cpu - RAM 16Gb.

Với cấu hình như trên thì cũng chạy được bình thường như nếu lượt truy cập cao 1 chút xíu thì chắc chắn sẽ die.

Mình có ý tưởng sẽ chạy cân bằng tải = 3 con VPS như này thì liệu có cải thiện được tốc độ của website không nhỉ?
Mình sẽ chia con server thành 3 con VPS = Hyper-V

VPS1 2core 4Gb ram -- Làm Reveser Proxy = Nginx
VPS2 4core 4Gb ram -- Chứa code + file ảnh..
VPS3 4core 4Gb ram -- Database

Liệu chia vậy có tốt hơn không hay tốc độ xử lý của nó vẫn như trên 1 con server 16core 16Gb ram thôi các bác nhỉ? Có hướng xử lý nào tốt hơn các bác cho e xin với, xin cám ơn.
 

VNZ-NEWS

Administrator
Thành viên BQT
chia máy chủ thành các VPS có thể cải thiện tốc độ và hiệu suất của website, tuy nhiên, tốc độ xử lý vẫn phụ thuộc vào tài nguyên và cấu hình của mỗi VPS. Để tối ưu hiệu suất, bạn cần đảm bảo rằng tài nguyên và cấu hình của mỗi VPS đáp ứng đủ yêu cầu.

Ngoài ra, có một số phương pháp khác như sử dụng công nghệ cache, tối ưu hóa cơ sở dữ liệu, và sử dụng CDN (mạng phân phối nội dung) để cải thiện tốc độ truy cập và giảm tải cho máy chủ.
 

tengiketao

Gà con
Đầu tiên, phải xác định được nguyên nhân của vấn đề, thì mới có giải pháp phù hợp
Chứ làm trong mù quáng thì làm sao giải quyết được vấn đề

Die là gì? là timeout hay là resource vị quá tải dẫn đến treo cả server hay chỉ treo service nào đó thôi?
Nếu là timeout hoặc chậm, thì do cái nào chậm, do truy vấn db chậm hay do web server chậm, hay do IO nào làm chậm
Code có tối ưu hay chưa? Query có tối ưu hay chưa? .....
Traffic có vượt quá băng thông của VPS không?
Log có thông tin gì để biết cái nào chậm hay không
 

hgn389

Gà con
Đầu tiên, phải xác định được nguyên nhân của vấn đề, thì mới có giải pháp phù hợp
Chứ làm trong mù quáng thì làm sao giải quyết được vấn đề

Die là gì? là timeout hay là resource vị quá tải dẫn đến treo cả server hay chỉ treo service nào đó thôi?
Nếu là timeout hoặc chậm, thì do cái nào chậm, do truy vấn db chậm hay do web server chậm, hay do IO nào làm chậm
Code có tối ưu hay chưa? Query có tối ưu hay chưa? .....
Traffic có vượt quá băng thông của VPS không?
Log có thông tin gì để biết cái nào chậm hay không
site chủ yếu là bị error 524 timeout Cloudflare thôi bác, site wordpress mình đang để tất cả code file ảnh trên 1 con server dual 2678v3 ram16 nvme. băng thông thì unlimit 200mbps. Có redis cache. Chủ yếu là do truy vấn chậm, ví như tìm kiếm trong website. cứ tầm 30 -50 người truy cập cùng lúc là site lỗi 524 , m nghĩ chắc do số lượng hình ảnh nhiều quá nên chia bớt qua CDN để giảm tải, vì 1 ảnh toàn bị dup ra 5-6 ảnh kích thước khác nên m hỏi thử xem chia con server ra vậy xem hiệu suất nó có được cải thiện ko
 

tengiketao

Gà con
524 là timeout cho server xử lý quá lâu
theo như bạn nói, thì static file khá nặng, mình nghĩ là bạn nên dùng cdn hoặc cloud storage nào đó để host đó, không nên để chung với các service, tranh bị nghẽn IO hoặc network
hoặc nếu không dùng cdn/cloud storage thì bạn cũng có thể tách tiêng phần static file này ra, sau đó set cache cho static file chẳn hạn

nhưng mà 50 người cùng lúc đã die, thì phải coi lại khổi lượng công việc mà 50 user đó thực hiện nó có thật sự nhiêu hay không mà theo như mình thấy từ những gì bạn nói, chắc là do IO/network
bạn có thể đo thử, lúc 1/5/10/20/50 xem performance khác nhau như nào
từ lúc nhận được request, đến lúc response là thì xử lý bao lâu, có thể chi tiết hơn bằng cách gắn log cho từng bước chẳn hạn
 


Top