Từ cú nhấp chuột đến cơ sở dữ liệu: bảy chặng, chặng nào chậm, và cách đo bằng curl trước khi nhờ AI sửa.
Danh bạ của internet: đưa tên, nhận địa chỉ số của máy chủ.
Cuộc gọi báo trước. Bên kia nghe máy rồi mới gửi hàng.
Hai bên thỏa thuận khóa trước, người ngoài không xem được.
Phiếu đặt hàng và phiếu trả. Số ngắn: 200 xong, 404 không thấy, 500 lỗi.
Cái kho lưu thông tin lâu dài. Ứng dụng phải hỏi kho mới có dữ liệu.
Thời gian chờ, tính bằng giây hoặc mili giây (một phần nghìn giây).
Tra danh bạ. Hay chậm khi máy chủ DNS xa.
Gọi báo trước. Hỏng: bị từ chối, hết giờ.
Thùng có khóa. Hỏng: chứng chỉ hết hạn.
Phiếu đặt hàng. Hỏng: thiếu quyền, 401, 403.
Lễ tân xử lý. Hỏng: lỗi 500.
Xuống kho. Chậm khi hỏi quá nhiều lần.
Giao hàng về. Chậm khi nội dung lớn.
Mỗi chặng chậm hoặc hỏng riêng. Thông báo lỗi là manh mối.
Hỏi danh bạ để đổi tên thành địa chỉ số. Kết quả thường được nhớ tạm, nên lần sau nhanh hơn.
Gọi báo trước và chờ bên kia nghe máy. Máy chủ xa hoặc mạng mất gói thì chậm hoặc bị từ chối.
Chung nhau chiếc thùng có khóa trong địa chỉ https. Chứng chỉ hết hạn thì trình duyệt cảnh báo.
Mẫu theo MDN. 200 chỉ nói yêu cầu thành công về giao thức, chưa nói nội dung đúng.
truy vấn: một cho danh sách, rồi một cho từng dòng
truy vấn có phép nối, cùng một đáp án
Đếm thật bằng SQLite. Mỗi chuyến 5 mili giây là giả định của tôi: 255 so với 5 mili giây.
Lấy mốc sau trừ mốc liền trước. Dùng nguyên time_total làm một chặng là hiểu sai.
Khoảng chờ máy chủ gồm cả ứng dụng và cơ sở dữ liệu. curl không tách được hai phần này.
| Chặng | Ca A: cơ sở dữ liệu chậm | Ca B: DNS chậm |
|---|---|---|
| DNS | 0,045 | 1,205 |
| Kết nối | 0,035 | 0,035 |
| TLS | 0,064 | 0,065 |
| Chờ máy chủ | 0,805 | 0,055 |
| Tải về | 0,024 | 0,023 |
| Tổng (giây) | 0,973 | 1,383 |
Mô phỏng chạy thật. Độ trễ do tôi đặt sẵn, không phải đo từ mạng.
Ca A: chờ chiếm gần 83%. Ca B: DNS chiếm gần 87%. Sửa sai chỗ thì vô ích.
Số 5 mili giây mỗi truy vấn là giả định. Các độ trễ ca A và B do tôi đặt.
Chặng lớn nhất chiếm 83% ở ca A và 87% ở ca B.
601 truy vấn nhỏ chờ 3.005 mili giây, khớp với trang mất gần 3 giây.
Chặng nào chiếm gần hết thời gian? Tính bằng phép trừ.
first_byte trừ tcp xấp xỉ 0,8 giây, vì code chờ 0,8 giây trước khi trả lời.
Tôi chưa chạy được máy chủ này vì môi trường chặn cổng mạng. Bạn chạy thật và so với đáp án.
Nếu chặng lớn nhất là chờ máy chủ, đếm số truy vấn trước khi đoán. Khi nhờ AI sửa, đưa số đo cho nó và tự mở số đo sau khi sửa.