Propustnost: pilovitá křivka
Propustnost BLE je počet výměn na schůzku krát objem dat v jedné výměně děleno intervalem. Všechny tři členy jsou celá čísla nebo pevné konstanty, a proto ta křivka není hladká — je pilovitá a chová se způsobem, který překvapí každého.
Kratší interval nemusí být rychlejší
Nejkratší možný interval je 7,5 ms. Jedna výměna na 1M PHY s plným paketem trvá 2 532 µs, takže se jich do něj vejdou dvě a zbude 1 700 mikrosekund, které nikdo nevyužije. Při intervalu 30 ms se vejde deset výměn a zbude 1 700 — relativní ztráta je pětkrát menší.
| PHY | bez DLE (27 B) | s DLE (251 B) | strop |
|---|---|---|---|
| 1M | ~90 kb/s | ~650 kb/s | 771 kb/s |
| 2M | ~170 kb/s | ~1 170 kb/s | 1 371 kb/s |
| Coded S=2 | ~45 kb/s | ~330 kb/s | 386 kb/s |
| Coded S=8 | ~12 kb/s | — | 96 kb/s |
Ten „strop“ je stav, kdy výměny jdou beze zbytku za sebou. Reálný interval se k němu blíží, ale nikdy ho nedosáhne — a to je poctivá verze údaje „až 1,4 Mb/s“ z katalogu.
Dvě věci, které propustnost zabijí
- Vypnuté DLE. Sedmkrát méně, protože režie je konstantní. Viz předchozí kapitola.
- Potvrzované operace. Zápis s odpovědí čeká na odpověď, která přijde až v příští schůzce — takže na jednu operaci připadá celý interval, bez ohledu na rychlost PHY. To je kapitola 8.
A jedna past specifická pro kódované PHY: plný paket na S=8 trvá 17 ms. Do intervalu 30 ms se s odpovědí nevejde, takže spojení existuje a nepřenese nic. Tahle labka to hlásí; skutečný zásobník to většinou vyřeší tím, že paket rozdělí, ale propustnost už tím nezachrání. S=8 a DLE se navzájem vylučují na krátkých intervalech.