blog posts

Nguyên nhân và Khắc Phục Website bị quá tải-Phần 1

Bạn đang quản lý một  trang web? có thể bạn dùng Share Hosting hoặc VPS.Nhưng cũng có lúc bạn gặp phải trường hợp: website có rất ít lượt truy cập nhưng lại tốn rất nhiều tài nguyên hệ thống.Hoặc thường xuyên nhận được cảnh báo sử dụng quá tài nguyên từ các nhà cung cấp Hosting.Bài viết này sẽ hướng dẫn bạn cách phân tích tìm hiểu nguyên nhân và khắc phục tình trạng này.

1. Xác định lỗi tải trang và đo tốc độ tải trang website của bạn.

Có một cách đơn giản nhất là trong Trình Duyệt Chrome nhấn F12 vào tab Networks chrome-f12

Chức năng này sẽ giúp bạn hiển thị tốc độ tải trang và các liên kết đích không thể tải được. Ví dụ như hình trên để tải một website thử nghiệm tôi đã sử dụng tới 101 request với tổng dung lượng tải về 136 KB .Mất khoảng thời gian 0,4 giây và chứa 1 liên kết nguồn bị lỗi. Để phân tích các liên kết lỗi và sửa chữa nó. Bạn chỉ cần click vào số 1 và biểu tượng x màu đỏ dưới cùng bên phải cửa sổ.

Lời khuyên: Các liên kết nguồn (src) thường là nguyên nhân khiến website của bạn bị tải chậm.Vì trình duyệt mất nhiều thời gian để tải đi tải lại nhiều lần mà không thành công.Nguyên nhân có thể do liên kết đó bị lỗi hoặc không có thực.Cách tốt nhất là bạn truy cập thẳng vào các liên kết nguồn đó xem nó hiển thị lỗi thế nào là có manh mối xử lý tiếp.

2. Spam Bot

Nếu website của bạn thuộc thể loại diễn đàn hoặc có chức năng thảo luận thì rất có thể sẽ bị các spam bot dòm ngó và phá hoại.Tôi lấy ví dụ một đoạn logs trên website của tôi:

2013-03-22 04:18:24 W3SVC257 TND-SV2 113.160.102.90 POST /register.php do=addmember 80 – 61.241.211.217 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1;) bb_lastvisit=1363922407;+bb_sessionhash=4ca9bc55f1ca8056d6a93df9113484bb;+bb_lastactivity=0 http://ducco.info/register.php ducco.info 200 0 0 8592 928 218

Vào ngày 22 tháng 3. IP 61.241.211.217 đang cố gắng truy cập vào http://ducco.info/register.php để đăng ký thành viên . Vì diễn đàn vBulletin này có chức năng chống spam bot như câu hỏi toán hay câu hỏi đố bằng tiếng việt. Thành ra Spam Bot cứ thực hiện lặp đi lặp lại 1 request đăng ký thành viên trên. Để phát hiện loại kết nối không khó.Bạn chỉ cần download logs website về và kiểm tra các truy vấn lặp đi lại quá nhiều lần. Nếu dùng VPS thì bạn sẽ có nhiều lựa chọn Monitor hơn.

Lời khuyên: Nên tìm và lọc tất cả các IP của spam bot này và chặn nó bằng .htaccess . Điều này sẽ làm cho máy chủ không mất thời gian đọc và xử lý các request của nó nữa. Nếu dùng VPS thì bạn nên chặn nó từ IPTables hoặc Friewall cứng từ nhà cung cấp dịch vụ.

3. Bad Spider

Bạn làm một website tiếng Việt, nhưng các trang tìm kiếm của Trung Quốc như Baidu lại cứ thích craw vào website của bạn để thu thập dữ liệu. Hoặc các spider lại craw vào các chức năng tìm kiếm. Ví dụ: domain.com/search/thiet+ke+website .Điều này đã vô tình khiến cho máy chủ phải mất nhiều tài nguyên để xử lý và trả kết quả cho Spider. Một số Spider Việt Nam mới thành lập gần đây như coccoc thì tốc độ thu thập dữ liệu của nó lại quá nhanh giống như một cuộc tấn công DoS vậy.

Lời khuyên: nên chặn hết các spider không mang lại giá trị cho bạn như Baidu,Yandex và vô số các spider quốc tế khác . Đối với các spider có tốc độ craw quá nhanh như coccoc thì nên giới hạn tốc độ của nó lại bằng cách thêm vào file robots.txt nội dung:

User-agent: coccoc
Crawl-delay: 1

Để chặn một spider ví dụ Baidu thì ta tạo 1 file robots.txt trên thư mục root của bạn ví dụ domain.com/robots.txt có nội dung:

User-agent: Baiduspider
Disallow: /

Để chặn toàn bộ các spider lấy kết quả từ chức năng tìm kiếm của website thì thêm vào file robots.txt nội dung:

User-agent: *
Disallow: /search/

(thay /search/ cho phù hợp với chức năng tìm kiếm website của bạn).

Hết phần 1

Tác Giả TND.VN
Vui lòng để nguồn về bài này nếu copy lại

3 Comments

Leave a Reply