91 lines
4.8 KiB
XML
91 lines
4.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 640" role="img" aria-labelledby="title desc">
|
|
<title id="title">Учебный профиль нагрузочного тестирования из четырёх сегментов</title>
|
|
<desc id="desc">Вертикальная диаграмма показывает warm-up, steady, step и recovery. У каждого сегмента есть planned request slots, accepted и rejected synthetic units. Только step получает synthetic bottleneck flag. Все единицы явно исключены из latency, throughput и RPS.</desc>
|
|
<defs>
|
|
<style>
|
|
.bg { fill: #f8fafc; }
|
|
.title { fill: #102a43; font: 700 25px Arial, sans-serif; }
|
|
.subtitle { fill: #486581; font: 15px Arial, sans-serif; }
|
|
.label { fill: #102a43; font: 700 16px Arial, sans-serif; }
|
|
.small { fill: #334e68; font: 14px Arial, sans-serif; }
|
|
.tiny { fill: #486581; font: 13px Arial, sans-serif; }
|
|
.axis { stroke: #829ab1; stroke-width: 2; }
|
|
.grid { stroke: #d9e2ec; stroke-width: 1; }
|
|
.card { fill: #ffffff; stroke: #bcccdc; stroke-width: 1.5; }
|
|
.accept { fill: #2f855a; }
|
|
.reject { fill: #c53030; }
|
|
.plan { fill: #4299e1; }
|
|
.step { fill: #f6ad55; }
|
|
.note { fill: #fffaf0; stroke: #dd6b20; stroke-width: 1.5; }
|
|
</style>
|
|
</defs>
|
|
<rect class="bg" width="480" height="640" rx="22"/>
|
|
<text class="title" x="30" y="44">Профиль — порядок, не total</text>
|
|
<text class="subtitle" x="30" y="70">In-memory модель: slots не отправляются в сеть.</text>
|
|
|
|
<line class="axis" x1="42" y1="394" x2="440" y2="394"/>
|
|
<line class="axis" x1="42" y1="126" x2="42" y2="394"/>
|
|
<line class="grid" x1="42" y1="327" x2="440" y2="327"/>
|
|
<line class="grid" x1="42" y1="260" x2="440" y2="260"/>
|
|
<line class="grid" x1="42" y1="193" x2="440" y2="193"/>
|
|
<text class="tiny" x="15" y="141">slots</text>
|
|
|
|
<g>
|
|
<rect class="card" x="56" y="282" width="76" height="112" rx="9"/>
|
|
<rect class="plan" x="66" y="318" width="18" height="46" rx="3"/>
|
|
<rect class="accept" x="91" y="318" width="18" height="46" rx="3"/>
|
|
<rect class="accept" x="116" y="318" width="8" height="46" rx="3"/>
|
|
<text class="label" x="56" y="262">warm-up</text>
|
|
<text class="tiny" x="56" y="382">2 slots</text>
|
|
</g>
|
|
|
|
<g>
|
|
<rect class="card" x="150" y="238" width="76" height="156" rx="9"/>
|
|
<rect class="plan" x="160" y="274" width="16" height="90" rx="3"/>
|
|
<rect class="accept" x="182" y="274" width="16" height="90" rx="3"/>
|
|
<rect class="accept" x="204" y="274" width="14" height="90" rx="3"/>
|
|
<text class="label" x="159" y="218">steady</text>
|
|
<text class="tiny" x="160" y="382">3 accepted</text>
|
|
</g>
|
|
|
|
<g>
|
|
<rect class="card" x="244" y="128" width="100" height="266" rx="9"/>
|
|
<rect class="step" x="254" y="146" width="80" height="34" rx="5"/>
|
|
<text class="tiny" x="263" y="167">synthetic flag</text>
|
|
<rect class="plan" x="258" y="208" width="14" height="126" rx="3"/>
|
|
<rect class="accept" x="278" y="208" width="14" height="126" rx="3"/>
|
|
<rect class="accept" x="298" y="208" width="14" height="126" rx="3"/>
|
|
<rect class="accept" x="318" y="208" width="14" height="126" rx="3"/>
|
|
<rect class="reject" x="258" y="342" width="36" height="22" rx="3"/>
|
|
<rect class="reject" x="300" y="342" width="36" height="22" rx="3"/>
|
|
<text class="label" x="272" y="108">step</text>
|
|
<text class="tiny" x="254" y="382">5 slots · 2 rejected</text>
|
|
</g>
|
|
|
|
<g>
|
|
<rect class="card" x="362" y="282" width="76" height="112" rx="9"/>
|
|
<rect class="plan" x="372" y="318" width="18" height="46" rx="3"/>
|
|
<rect class="accept" x="397" y="318" width="18" height="46" rx="3"/>
|
|
<rect class="accept" x="422" y="318" width="8" height="46" rx="3"/>
|
|
<text class="label" x="361" y="262">recovery</text>
|
|
<text class="tiny" x="372" y="382">2 accepted</text>
|
|
</g>
|
|
|
|
<g transform="translate(30 430)">
|
|
<rect class="card" width="420" height="78" rx="12"/>
|
|
<rect class="plan" x="18" y="18" width="18" height="18" rx="3"/>
|
|
<text class="small" x="45" y="32">planned request slot</text>
|
|
<rect class="accept" x="218" y="18" width="18" height="18" rx="3"/>
|
|
<text class="small" x="245" y="32">accepted unit</text>
|
|
<rect class="reject" x="18" y="48" width="18" height="18" rx="3"/>
|
|
<text class="small" x="45" y="62">rejected synthetic unit</text>
|
|
</g>
|
|
|
|
<g transform="translate(30 530)">
|
|
<rect class="note" width="420" height="76" rx="12"/>
|
|
<text class="label" x="18" y="29">Граница этой диаграммы</text>
|
|
<text class="small" x="18" y="53">Synthetic units only: не latency, не throughput,</text>
|
|
<text class="small" x="18" y="69">не RPS, не users и не capacity benchmark.</text>
|
|
</g>
|
|
</svg>
|