Ezeket a számokat kell tudni minden számítógépes mérnöknek

2010-ben Jeff Dean a Google-től csodálatos előadást tartott Stanfordban, amely meglehetősen híressé tette. Ebben néhány számot tárgyalt, amelyek a számítástechnikai rendszerek szempontjából relevánsak. Aztán Peter Norvig ezeket a számokat tette közzé először az interneten.

Telt az idő, és a számok megváltoztak. Itt van egy nagyon jó interaktív webes felhasználói felület ezekről a számokról, amely nagyjából megmondja, mennyit változtak az évek során az idő függvényében.

Ez a cikk nemcsak Jeff Dean becsült adatait állítja össze, hanem minden ilyen számot különböző forrásokból összesít. Ez segítséget nyújthat Önnek rendszertervezőként és építészként. A tervezés során ezeket a számokat felhasználva megbecsülheti a rendszernek szükséges erőforrások mennyiségét.

A késleltetési adatok durva becslése 2019-re:

  1. L1 gyorsítótár hivatkozás: 1 nanoszekundum.
  2. L2 gyorsítótár-referencia: 4 nanoszekundum.
  3. Mutex zárolás / feloldás: 17 nanoszekundum.
  4. Fő memória / RAM referencia: 100 nanoszekundum.
  5. Tömörítsen 1 KB-ot Zippy-vel (jelenleg Snappy néven): 2000 nanoszekundum vagy 2 mikroszekundum.
  6. A CPU ág hibás előrejelzése: 3 nanoszekundum.
  7. Szilárdtest-meghajtó (SSD) véletlenszerű leolvasás: 16 mikroszekundum.
  8. Lemez (merevlemez / mágneses meghajtó) keresése: 3 milliszekundum.
  9. 1 000 000 bájt olvasható szekvenciálisan a fő memóriából: 4 mikroszekundum.
  10. 1.000.000 bájt olvasása egymás után az SSD-ről: 62 mikroszekundum.
  11. 1 000 000 bájt olvasása egymás után lemezről: 947 mikroszekundum.
  12. Oda-vissza hálózati kérelem ugyanabban az adatközpontban: 500 mikroszekundum.
  13. 2000 bájt küldése áruhálózaton: 62 nanoszekundum.

A hasznos teher TCP-n keresztüli utazásához szükséges idő:

Itt van az az időtartam, amely a különféle adatterhelések átadásához szükséges a tipikus cellahálózatokon az egész világon, feltételezve, hogy nincs adatvesztés.

RTT - oda-vissza idő - Az az összes idő, amely egy adatcsomagnak (adatbájtok halmazának) kell lennie ahhoz, hogy a hálózaton keresztül az egyik küldőtől a vevőig és a vevőtől a küldőig haladjon. Röviden, Ping időnek hívják.

  1. 1 bájt 13 000 bájt (nagyjából 13 KB) adatátvitelhez 1 oda-vissza út vagy 1 RTT szükséges. Durva idő - USA: 150 milliszekundum, India: 1200 milliszekundum, Brazília: 600 milliszekundum.
  2. 13 001 bájt - 39 000 bájt (13 KB - 39 KB) 2 RTT-t vesz igénybe. Durva idő - USA: 300 milliszekundum, India: 2400 milliszekundum, Brazília: 1200 milliszekundum.
  3. 39 001 bájt - 91 000 bájt (39 KB - 91 KB) 3 RTT-t vesz igénybe. Durva idő: USA: 450 milliszekundum, India: 3600 milliszekundum, Brazília: 1800 milliszekundum.
  4. 91 001 bájt - 195 000 bájt (91 - 195 KB) 4 RTT-t vesz igénybe. Durva idő - USA: 600 milliszekundum, India: 4800 milliszekundum, Brazília: 2400 milliszekundum.

Tehát a nagyobb válaszméret több bájtot, hosszabb oda-vissza utat, nagyobb API késleltetést és végül kevésbé felhasználóbarát alkalmazást jelent.

Ez a bejegyzés frissül, ha új vagy frissített számokat találnak. Kérjük, tudassa velem, ha ismeri az új számokat.

Ezt a cikket eredetileg a szerző közepes falán tették közzé. Ha tetszik, kérlek, adj tapsokat.

Referencia:

  1. //colin-scott.github.io/blog/2012/12/24/latency-trends/
  2. //blog.std.in/2015/05/23/http-response-sizes-and-tcp/
  3. //medium.com/@kousiknath/must-know-numbers-for-every-computer-engineer-6338a12c292c