Egy Server Unit az ügyfél teljes hangalapú rendszerét futtatja: híváskezelést, felismerést, a nyelvi modellt és a beszédszintézist. Minden egység 100 egyidejű hívást kezel. Mielőtt ez a szám bekerül egy szerződésbe, tesztelni kell, ezért terhelési tesztet építettünk, és kétszer lefuttattuk.
Azt akartuk tudni, hogy az egység úgy viszi-e a névleges 100 hívást, hogy a válaszok még beszélgetésnek hangzanak, és hogyan viselkedik azokon túl, 120%-nál, 150%-nál és 176%-nál.
Mérés egyetlen Server Unit egységen, toborzó ügynökkel és ugyanazon az egységen futó szimulált hívókkal, G.711 A-law kodekkel, mérőhídon át: 22 terhelési lépcső 9 sorozatban, 22 018 válasz, nagyjából 129 óra beszélgetés. A terhelést a névleges kapacitás (100 egyidejű hívás) arányában adjuk meg, a válaszidőt indexként, ahol az egyetlen hívás 1,00.
Röviden: az átlagos válaszidő a névleges kapacitásig a Standard fokozaton vagy jobban marad, korai indítással nagyjából 117%-ig. 176%-nál minden hívás kapcsolódott, és egy sem szakadt meg. Minden lépcsőn a hívói megszólalások több mint 99%-a kapott választ, és a magas terhelésre végzett optimalizálás egy köre megduplázta azt a terhelést, amelyet az egység a Standard fokozaton elvisel.
Hogyan mértünk
- Szimulált hívók ugyanazon az egységen. Minden beszélgetés két telefonhívás: a tesztelt ügynök és egy szimulált hívó. Húsz szimulált hívó, mindegyik saját hanggal, modorral és hangulattal, rákérdez az állásra, szünetet tart, és úgy válaszol, ahogy az emberek. A Server Unit minden beszélgetés mindkét végét viszi, így a telefóniai terhelés kétszerese annak, amit ugyanekkora valódi beszélgetés okozna.
- Valósághű függőségek. Az ügynök által hívott külső rendszerek rögzített, valósághű késéssel válaszolnak.
- Egyetlen óra a vonalon. Egy mérőhíd áll a hangútban. Megjelöli azt a pillanatot, amikor a hívó mondata véget ér, és azt, amikor az ügynök válaszának első hangja megérkezik. A válaszidő a kettő közötti idő. Mindent magában foglal az egységen belül, ideértve a megszólalás végét jelző szünetet és a hang továbbítását.
- Lépcsők. A terhelés egyetlen beszélgetéstől a névleges kapacitás 176%-áig lépcsőkben nő. Minden lépcső két percig áll be, majd legalább öt percig mérjük. Az egyetlen beszélgetéses lépcső húsz percig fut.
- Egy lépcsőnek ki kell érdemelnie a helyét. Egy lépcső csak akkor számít, ha nyolc ellenőrzésen átmegy: egyenletes állapot (a második fele nem lassabb az elsőnél), sikertelen megszólalások, a mérőhíd egészsége, átfedő beszéd, a híd eseményeinek egyeztetése az ügynök naplójával, elveszett telemetria, hívásmegtagadások és erőforrás-korlátozók.
- Két mód. Az ügynököt standard módban és korai indítással mértük, amikor a nyelvi modell már a felismert szövegen elkezd dolgozni, mielőtt a megszólalást hivatalosan lezárnák.
Mi történt
Terhelési sávok
A fokozatok azt írják le, milyennek érzi a hívó a választ. Minden fokozat egy válaszidő-indexig tart.
| Terhelési sáv | Terhelés, a névleges kapacitás %-ában | Válaszfokozat | Index eddig | Mit vesz észre a hívó |
|---|---|---|---|---|
| Alacsony | legfeljebb 42 | Platina | 1,22 | A válaszok közel az egyhívásos sebességgel jönnek |
| Mérsékelt | 42–65 | Arany | 1,49 | Gyors válasz |
| Magas | 65–100 | Standard | 2,03 | Természetes szünet; ez a sáv a névleges kapacitásnál ér véget |
| Csúcs | 100–137 | Minimum | 2,71 | Érezhető szünet, de még beszélgetés |
| Roham | 137–176 | Nyújtott | — | Hosszabb szünet, minden hívás továbbra is kapcsolódik |
Korai indítással minden sáv tovább terjed: a Platina a névleges kapacitás nagyjából 57%-áig, az Arany nagyjából 78%-áig, a Standard nagyjából 117%-áig. A korai indítást a névleges kapacitás 128%-áig mértük.
A névleges kapacitás teljesül
100 egyidejű hívásnál az átlagos válaszidő nagyjából kétszerese az egyhívásos értéknek (index 2,02), és a válaszok a Standard fokozaton belül maradnak. Korai indítással az egység a névleges kapacitás nagyjából 117%-áig tartja a Standard fokozatot.
| Terhelés, a névleges kapacitás %-ában | Válaszindex | Korai indítással | 95. percentilis / medián | Áteresztési arány |
|---|---|---|---|---|
| 1 hívás | 1,00 | 0,88 | 1,73 | 0,01 |
| 24 | 1,07 | — | 1,61 | 0,38 |
| 36 | 1,15 | — | 1,61 | 0,55 |
| 50 | 1,30 | 1,14 | 1,69 | 0,74 |
| 64 | 1,48 | — | 1,72 | 0,94 |
| 80 | 1,75 | — | 1,70 | 1,00 |
| 96 | 1,97 | 1,71 | 1,62 | 0,98 |
| 112 | 2,20 | — | 1,69 | 0,94 |
| 128 | 2,52 | 2,21 | 1,68 | 0,99 |
| 152 | 3,02 | — | 1,60 | 0,91 |
| 176 | 3,34 | — | 1,71 | 0,81 |
A válaszidő lassabban nő, mint a terhelés
A görbét egyetlen számmal foglaljuk össze, a terhelési rugalmassággal: hány százalékkal nő a válaszidő a terhelés minden hozzáadott százalékára.
| Terhelési tartomány, a névleges kapacitás %-ában | Rugalmasság | Válaszidő +10% terhelésnél |
|---|---|---|
| 24–64 | 0,33 | nagyjából 3% |
| 64–128 | 0,77 | nagyjából 8% |
| 128–176 | 0,88 | nagyjából 9% |
A rugalmasság végig 1 alatt marad 176%-ig, és a görbének nincs töréspontja, ahol felfelé fordulna. Az az ügyfél, aki a névleges kapacitásnál 20%-kal többet futtat, mérhetően hosszabb szünetet kap egy továbbra is működő rendszeren.
A farok arányos marad
A medián válasz és a 95. percentilis válasz aránya minden lépcsőn ugyanaz, egyetlen hívástól 176%-ig:
A 95. percentilis válasz minden terhelési lépcsőn nagyjából 1,6–1,7-szerese a mediánnak.
A lassú válaszok a többivel együtt skálázódnak, így aki ismeri a tipikus szünetet, a legrosszabbat is meg tudja becsülni.
Az áteresztés tartja magát
A másodpercenkénti válaszok a terheléssel nőnek, a névleges kapacitás nagyjából 80%-ánál érik el a csúcsot, és a névleges kapacitás 64%-ától 128%-áig a csúcs 6%-án belül maradnak. 176%-nál az egység még mindig a csúcs-áteresztés nagyjából 80%-át kezeli.
Hívások és média
- Megválaszolt megszólalások. Minden lépcsőn a hívói megszólalások több mint 99%-a kapott választ.
- Média. A mérővonal egyetlen lépcsőn sem veszített RTP-csomagot.
- Befogadás. A névleges kapacitás 176%-ánál 352 SIP-hívás volt egyszerre élő. Mind kapcsolódott, és egy sem szakadt meg.
- Modellek. A nyelvimodell-sor és a beszédszintézis-sor minden lépcsőn üres maradt.
Az első és a második kör
Lefuttattuk a tesztet, optimalizáltuk a rendszert magas terhelésre, és újra lefuttattuk. Az optimalizálás érintette a médiaútvonalat, azt, hogyan osztja be a hangaktivitás-érzékelés az időt a hívások között, a szintetizált beszéd csendjeinek kezelését és azt a pillanatot, amikor a nyelvi modell elindul.
| Mérték | 1. kör | 2. kör |
|---|---|---|
| Standard fokozatú kapacitás | nagyjából a névleges kapacitás fele | a névleges kapacitás |
| Arany fokozatú kapacitás | a névleges kapacitás nagyjából 36%-a | a névleges kapacitás nagyjából 65%-a |
| Válaszidő, egyetlen hívás | alap | 22%-kal alacsonyabb |
| Válaszidő a névleges kapacitás felénél | alap | 34%-kal alacsonyabb |
| Csúcs-áteresztés | alap | majdnem kétszeres |
A 2. kör elérte a névleges 100 hívást, így az adatlapon szereplő szám mért érték. A Technológiák oldal megmutatja, hol áll a terhelési teszt a rendszerben. A Voicecore című szövegben (angolul) a hangfeldolgozás következő lépését írjuk le: a Rustban írt magot.
A teszt felépítése
G.711-en mértük, telefonos tesztvonalon, húsz szimulált hívóval és egy toborzó ügynökkel; az első kifejezések 94%-a a hanggyorsítótárból jött.