MƯỜI CHẶNG · BÀI CUỐI MÙA 1

Hệ thống & Điểm nghẽn

Phút thứ 5 của buổi thi online, màn hình cả khối 7 cùng lúc treo. Không phải máy ai đó hỏng — mà một điểm chung duy nhất không gánh nổi cả khối cùng lúc.

SERVER 200 học sinh đang dồn ứ ở đây
CHẶNG 1

Chuyện là thế này

Buổi thi online môn Tin học của cả khối 7 — 200 học sinh cùng làm bài trên hệ thống của trường — đang diễn ra bình thường.

Đúng phút thứ 5, màn hình treo. Nút "Nộp bài" bấm mãi không phản hồi. Nhiều bạn hoảng, tưởng máy mình bị lỗi riêng, vội giơ tay gọi giám thị.

treotreotreo treotreotreo 200 máy — cùng treo một lúc, đúng phút thứ 5
Không phải một máy — mà toàn bộ khối cùng gặp một sự cố y hệt, cùng một thời điểm.
CHẶNG 2

Rắc rối xuất hiện

Nhưng khi giám thị đi một vòng, mới vỡ lẽ: không phải máy ai cũng lỗi. Mọi máy trong khối đều gặp y hệt vấn đề, cùng một lúc.

200 LỖI RIÊNG? — khó tin MỘT NGUYÊN NHÂN CHUNG — hợp lý hơn
Cùng một lúc, cùng một triệu chứng — dấu hiệu của một nguyên nhân chung, không phải trùng hợp.
CHẶNG 3

Tại sao lại vậy nhỉ?

Nếu lỗi không phải ở từng máy học sinh — 200 chiếc máy khác nhau, khác đời, khác chỗ ngồi — thì vấn đề thật sự đang nằm ở đâu?

? đúng một điểm chung — vấn đề nằm ở đây?
200 máy khác nhau hoàn toàn — nhưng có đúng một chỗ mà tất cả cùng phải đi qua.
CHẶNG 4

À!

Thầy Huy giải thích ngay sau buổi thi.

Mọi bài thi đều phải gửi về CÙNG MỘT server duy nhất để chấm và lưu điểm — giống bài Server & Client đã học. Khi cả 200 máy cùng gửi bài cùng lúc, đúng server đó quá tải, không xử lý kịp — dù từng máy học sinh vẫn đang chạy hoàn toàn bình thường.

200 máy SERVER quá tải 200 yêu cầu dồn về một chỗ
Mỗi máy học sinh vẫn chạy tốt — nhưng cả 200 cùng dồn về đúng một server duy nhất.
CHẶNG 5

Gọi tên nó

Nhiều phần ghép lại, cùng phục vụ một mục tiêu chung, gọi là một HỆ THỐNG. Cái khâu duy nhất khiến cả hệ thống chậm/nghẽn dù các phần khác vẫn ổn, gọi là ĐIỂM NGHẼN (bottleneck).

Máy học sinh Mạng trường Serverchấm bài Database điểm khâu này quá tải — cả chuỗi chờ
Bốn khâu nối liền — chỉ một khâu tô đỏ quá tải là cả hệ thống chậm theo.
CHẶNG 6

Bản chất thật sự

Một hệ thống thường gồm nhiều phần phối hợp với nhau (máy học sinh, mạng trường, server chấm bài, database lưu điểm...). Tốc độ/độ ổn định của CẢ hệ thống bị giới hạn bởi phần YẾU NHẤT trong chuỗi đó tại thời điểm tải cao nhất — không phải bởi phần mạnh nhất.

Nâng cấp những phần đã đủ tốt (ví dụ làm máy học sinh mạnh hơn) không giúp ích gì nếu điểm nghẽn thật sự nằm ở server — phải xác định đúng chỗ nghẽn rồi mới cải thiện đúng chỗ đó (ví dụ thêm server phụ để chia tải, giống ý tưởng "mở thêm quầy ăn" đã gợi mở ở bài Server & Client).

1 làn qua cầu — cả đoạn trước ùn lại
99% con đường vẫn rộng rãi — nhưng tốc độ cả tuyến bị quyết định bởi đúng đoạn hẹp nhất.
CHẶNG 7

Một ví dụ khác

Website bán vé/đặt hàng bị sập đúng lúc mở bán — hàng nghìn người cùng truy cập một lúc, và server chính là điểm nghẽn, y hệt buổi thi của khối 7.

SERVER BÁN VÉ "Website đang bảo trì" — 08:00:03
Cùng một giây mở bán, hàng nghìn yêu cầu dồn về một điểm — điểm đó gãy trước.
CHẶNG 8

Nếu không có sự hiểu biết này thì sao

Không hiểu về điểm nghẽn, người thiết kế hệ thống dễ đổ tiền/công sức nâng cấp nhầm chỗ (chỗ vốn đã đủ tốt), trong khi chỗ thật sự gây chậm vẫn y nguyên — tốn kém mà không giải quyết được vấn đề.

Máy học sinh 💰 nâng cấp ở đây vẫn chạy tốt như trước — không phải chỗ nghẽn Server vẫn quá tải y nguyên
Tiền đổ đúng vào chỗ vốn đã ổn — điểm nghẽn thật ở server thì chẳng đổi gì cả.
CHẶNG 9

Em đã gặp nó ở đâu rồi

Mạng trường chậm hẳn vào giờ cả khối cùng vào một trang học trực tuyến — cũng đúng một điểm nghẽn, chỉ khác là lần này là đường mạng, không phải server.

một đường mạng của trường trang học
Nhiều lớp, một đường mạng chung — đường đó đầy là cả trường cùng chậm.

Tự kiểm tra bản chất

Bấm vào ô em nghĩ là đúng.

1. Vì sao 200 máy học sinh khác nhau lại cùng bị lag một lúc trong buổi thi?

2. Nâng cấp máy học sinh cho mạnh hơn có chắc chắn hết nghẽn không?

3. Tốc độ của cả một hệ thống bị quyết định bởi phần nào?

Câu hỏi của em sẽ hiện ở đây, chỉ lưu trên máy của em thôi.

Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!

CHẶNG 10

Kể lại cho bạn trong 30 giây

Một hệ thống nhanh hay chậm không do phần khỏe nhất, mà do đúng cái khâu yếu nhất.