Chi phí một lời gọi hệ thống
close(-1) không làm gì cả và vẫn tốn 128 ns. Đó là sàn, và nó gấp 174 lần một lời gọi hàm.
close(-1) không làm gì cả và vẫn tốn 128 ns. Đó là sàn, và nó gấp 174 lần một lời gọi hàm.
Chốt sê-ri 50 phần: mọi con số đáng nhớ, và bảy bài học về cách đo mà tôi học được bằng cách đo sai.
Lấy mẫu 1/10 làm p99 sập từ 414,9 xuống 119,9 ms — sai 71%, và sai đều ở cả ba lần đo.
Tôi đo trên Apple M4: gọi hàm thường 0,70 ns, còn getpid() — một syscall chẳng làm gì hữu ích — tốn 100,30 ns, chênh 143 lần, toàn bộ là chi phí đi sang nhân rồi về. Bóc tách 100 ns ấy: gần 19 ns là bộ lọc seccomp Docker gắn lên mọi container, và vDSO cho thấy tránh được cú vượt biên thì clock_gettime nhanh gấp 10,7 lần.
Ảo hoá làm CPU chậm 1,05 lần và I/O chậm 11 lần. Và lần đo đầu tiên của tôi đổ lỗi nhầm cho ảo hoá.
Tôi dựng bốn hoàn cảnh khác nhau, tất cả đều biểu hiện thành 'hệ thống ì', rồi xem chỉ số nào tách được chúng. nproc trả 10 ở cả bốn, loadavg đo nhầm cả máy chủ; còn cpu.stat và PSI phân biệt tuyệt đối. Bonus: bị bóp CPU 0,3 nhân không chỉ chậm 6 lần mà còn tốn 1,81 lần CPU cho cùng một việc.