10/10/2018, 13:33

Thiết kế website, giải pháp cache

Với cấu hình máy chủ đặt tại VDC như sau:

- CPU : 2x Westmere Quad Core Xeon E5620 2.4GHz

- RAM : 10GB DDR3

- HDD : 250GB SATA II 7200rpm

- Băng thông trong nước (Uplink/Downlink) 100Mbps

- Băng thông quôc tê (Uplink/Downlink): 10Mbps

Tôi đã thử cài đặt hệ điều hành Centos và Database MySQL để thực hiện test sức chịu tải bằng tấn công DDOS cho 1 tờ báo lớn. Khi hệ thống lên đến hơn 3500 connections cùng một lúc, khả năng phản hồi của DB MySQL gần như bị tê liệt. Dĩ nhiên, việc tê liệt này phụ thuộc vào nhiều yếu tố từ băng thông, cấu hình server, khả năng đáp ứng của DB…

Một thí nghiệm khác, khi chúng tôi bật cache trên MySQL thì số connections cùng lúc có thể lên đến hơn 4000, rất hứng thú, tôi tiếp tục bật cache file thì chỉ cần gàn 3000 connections cùng lúc, hệ thống đã tê liệt (Do ổ cứng của server này chỉ đáp ứng được có 7200 vòng / phút)

Một thí nghiệm khác, tôi chỉ bật cache DB MySQL và đo tốc độ trung bình trả về của 1 lần request, tương ứng với 0.02 S trong lần đầu tiên, khi chạy lại request đó, thì lần 2 giảm đi hơn 100 lần, tương ứng với 0.0018 S, khi này rõ ràng cache MySQL đã có tác dụng.
Tiếp tục, tôi bật chế độ cache file và đo trên trình duyệt, lần 1 mất gần 2S để load trang có nhiều ảnh, lần 2 mất 0.5 S để load lại trang này ở 1 máy khác.

Với 1 website thông thường của doanh nghiệp, chúng tôi bỏ qua test chịu tải, chúng tôi thực hiện chế độ cache cả file và DB thì thấy tốc độ phản hồi của website được bật chế độ cache lần đầu tiên bao giờ cũng mất nhiều thời gian hơn so với website không sử dụng cơ chế cache, và thực tế, nếu một ngày website của bạn chỉ có khoảng 50-100 visited thì cơ chế cache hoàn toàn không có ưu thế, nếu không muốn nói là có đôi chút gây phiền toái cho tốc độ load trang lần đầu.

Với những thí nghiệm thực tế (Bỏ qua yếu tốc tác động của mạng internet tại các thời điểm khác nhau), tôi có thể thấy tiện ích nâng cao tốc độ của Cache là tốt hơn hẳn khi và chỉ khi website của bạn có nhiều lượt người truy cập. Còn nếu website của bạn hầu như ít người truy cập, cơ chế Cache lại gần như vô dụng nếu không muốn nói là nó làm website của bạn chậm đi ít nhiều trong các lần xem đầu tiên.
Với các báo lớn, ngoài cơ chế cache (cache Database, Mem cache, cơ chế cache nhờ vào ứng dụng bên thứ 3, cache file…) thì mô hình của hệ thống server xác định khả năng chịu tải của bạn tốt thế nào?

Ở đây tôi chỉ luận bàn đến các website doanh nghiệp, bạn hoàn toàn không cần phải quan tâm nhiều đến vấn đề này, bởi vậy, khi 1 nhà cung cấp website viết về công nghệ cache và quảng cáo nó như là 1 vũ khí lợi hại của tốc độ, bạn cần phải cân nhắc về 2 vấn đề: Một là, nhà thiết kế website đó không am hiểu lắm về kĩ thuật, hoặc Hai là: Họ đang cố sử dụng các vấn đề công nghệ để làm một thứ tưởng như đơn giản với dân công nghệ trở nên thần thánh hóa với dân ngoại đạo.

_________________________
Dịch vụ thiết kế website chuẩn SEO Onpage: iGuru,vn
googlebush viết 15:34 ngày 10/10/2018
ngại thật. bạn không hiểu gì về mysql mà chém thế. mình đã test vps với ram có 4Gb mà request hơn 10 000 connection không cache vẫn chạy vèo vèo nhé. cache trên mysql thì dùng hay ko dùng tùy vào trường hợp, như dao 2 lưỡi thôi.
muốn site nhanh xịn thì nên dùng công nghệ sau:
nginx, memcached hoặc redis, no sql như mongoDb ...
funvn viết 15:37 ngày 10/10/2018
Đã mua được server rồi sao không cố xíu nữa thay ổ SSD cho HDD. Đảm bảo hiệu suất tăng nên rất nhiều luôn
ibo.vn viết 15:38 ngày 10/10/2018
server mà dùng hdd 7k2 chịu bác luôn
file cache nhược điểm vẫn là sử dụng quá nhiêu ổ cứng mỗi page sẽ tạo ra 1 file vì thế mà có sự trùng lặp nội dung rất là nhiều, thành ra là phí tài nguyên
thay thế cho filecache và memcache nên dùng php cache. PHP cache mình thấy khá ưu điểm sử dụng 1 chút cpu 1 chút ổ cứng, về content thì gần như nodb
PS: lỡ đầu tư server thì kiếm hdd 15k hoặc ssd đi chú
linkitvn viết 15:43 ngày 10/10/2018
mình hay dùng memcached, mongodb. Mình có một web dùng mongodb là linkit chấm vn :v trang này dùng mỗi bảng user là sql server, còn đâu mongo hết
lambertphoenix viết 15:40 ngày 10/10/2018
Mình thấy phần HDD cần chuyển sang SSD cho tối ưu hơn
themeforest viết 15:45 ngày 10/10/2018
uh thêm ssd nữa thì ngon.
lambertphoenix viết 15:50 ngày 10/10/2018
SSD còn đỡ làm nóng server hơn HDD, HDD quay càng nhanh thì nhiệt càng nhiều mà
truongnamqd viết 15:34 ngày 10/10/2018
mình cần thiết kế 1 website bán phần mềm chuyên nghiệp có tích hợp thanh toán trực tuyến, giao diện trông thật tin cậy, tối ưu seo, bảo mật tốt. Bác nào có kinh nghiệm thiết kế được thì báo giá em với ạ
Bài liên quan
0