122 lines
8.3 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>LLM API 基准测试报告</title>
<script src="https://go-echarts.github.io/go-echarts-assets/assets/echarts.min.js"></script>
</head>
<body>
<style> .container {display: flex;justify-content: center;align-items: center;} .item {margin: auto;} </style>
<div class="container">
<div class="item" id="xCOcpSWYyAGW" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_xCOcpSWYyAGW = echarts.init(document.getElementById('xCOcpSWYyAGW'), "white");
let option_xCOcpSWYyAGW = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"指标","type":"bar","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":false,"data":[{"value":3},{"value":3},{"value":0},{"value":0},{"value":48196},{"value":54100},{"value":54100},{"value":54100},{"value":36388},{"value":54352},{"value":12860},{"value":23094},{"value":20190},{"value":20190},{"value":20190},{"value":0.027040685394883506},{"value":967.995644019602},{"value":27.455309237605054},{"value":884748.0186339163},{"value":2}]}],"title":{"text":"性能概览"},"tooltip":{"show":false},"xAxis":[{"data":["总请求数","成功请求数","失败请求数","超时比率(%)","平均响应时间(ms)","P90响应时间(ms)","P95响应时间(ms)","P99响应时间(ms)","最小响应时间(ms)","最大响应时间(ms)","最小TTFT(ms)","最大TTFT(ms)","P90 TTFT(ms)","P95 TTFT(ms)","P99 TTFT(ms)","平均QPS","最大QPS","平均Token生成速率(tokens/s)","最大Token生成速率(tokens/s)","最大有效并发用户数"]}],"yAxis":[{}]}
;
let action_xCOcpSWYyAGW = {"areas":{},"type":""}
;
goecharts_xCOcpSWYyAGW.setOption(option_xCOcpSWYyAGW);
goecharts_xCOcpSWYyAGW.dispatchAction(action_xCOcpSWYyAGW);
</script>
<div class="container">
<div class="item" id="kPZWbxGpYxEY" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_kPZWbxGpYxEY = echarts.init(document.getElementById('kPZWbxGpYxEY'), "white");
let option_kPZWbxGpYxEY = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"请求数","type":"bar","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":false,"data":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":0},{"value":3}]}],"title":{"text":"响应时间分布"},"tooltip":{"show":false},"xAxis":[{"data":["≤100ms","100-200ms","200-500ms","500-1000ms","1000-2000ms","2000-5000ms","5000-10000ms",">10000ms"]}],"yAxis":[{}]}
;
let action_kPZWbxGpYxEY = {"areas":{},"type":""}
;
goecharts_kPZWbxGpYxEY.setOption(option_kPZWbxGpYxEY);
goecharts_kPZWbxGpYxEY.dispatchAction(action_kPZWbxGpYxEY);
</script>
<div class="container">
<div class="item" id="vnquLiEpoKRA" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_vnquLiEpoKRA = echarts.init(document.getElementById('vnquLiEpoKRA'), "white");
let option_vnquLiEpoKRA = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"并发 1","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":0.2,"XAxisIndex":0,"YAxisIndex":0}]},{"name":"并发 2","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":0.4,"XAxisIndex":0,"YAxisIndex":0}]}],"title":{"text":"QPS随时间变化"},"tooltip":{"show":false},"xAxis":[{"data":["17:36:40"]}],"yAxis":[{}]}
;
let action_vnquLiEpoKRA = {"areas":{},"type":""}
;
goecharts_vnquLiEpoKRA.setOption(option_vnquLiEpoKRA);
goecharts_vnquLiEpoKRA.dispatchAction(action_vnquLiEpoKRA);
</script>
<div class="container">
<div class="item" id="YExMNdZOyAZX" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_YExMNdZOyAZX = echarts.init(document.getElementById('YExMNdZOyAZX'), "white");
let option_YExMNdZOyAZX = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"并发 2","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":365.6,"XAxisIndex":0,"YAxisIndex":0}]},{"name":"并发 1","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":243.6,"XAxisIndex":0,"YAxisIndex":0}]}],"title":{"text":"Token生成速率随时间变化"},"tooltip":{"show":false},"xAxis":[{"data":["17:35:44"]}],"yAxis":[{}]}
;
let action_YExMNdZOyAZX = {"areas":{},"type":""}
;
goecharts_YExMNdZOyAZX.setOption(option_YExMNdZOyAZX);
goecharts_YExMNdZOyAZX.dispatchAction(action_YExMNdZOyAZX);
</script>
<div class="container">
<div class="item" id="YXYQYEwQXnFv" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_YXYQYEwQXnFv = echarts.init(document.getElementById('YXYQYEwQXnFv'), "white");
let option_YXYQYEwQXnFv = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"平均响应时间 (ms)","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":53849,"XAxisIndex":0,"YAxisIndex":0},{"value":45370,"XAxisIndex":0,"YAxisIndex":0}]},{"name":"P90响应时间 (ms)","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":53849,"XAxisIndex":0,"YAxisIndex":0},{"value":45370,"XAxisIndex":0,"YAxisIndex":0}]},{"name":"P95响应时间 (ms)","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":53849,"XAxisIndex":0,"YAxisIndex":0},{"value":45370,"XAxisIndex":0,"YAxisIndex":0}]}],"title":{"text":"并发与响应时间关系"},"tooltip":{"show":false},"xAxis":[{"data":["1","2"]}],"yAxis":[{}]}
;
let action_YXYQYEwQXnFv = {"areas":{},"type":""}
;
goecharts_YXYQYEwQXnFv.setOption(option_YXYQYEwQXnFv);
goecharts_YXYQYEwQXnFv.dispatchAction(action_YXYQYEwQXnFv);
</script>
<div class="container">
<div class="item" id="YIMMOZBeQHGr" style="width:900px;height:500px;"></div>
</div>
<script type="text/javascript">
"use strict";
let goecharts_YIMMOZBeQHGr = echarts.init(document.getElementById('YIMMOZBeQHGr'), "white");
let option_YIMMOZBeQHGr = {"animation":true,"color":["#5470c6","#91cc75","#fac858","#ee6666","#73c0de","#3ba272","#fc8452","#9a60b4","#ea7ccc"],"legend":{"show":true,"type":""},"series":[{"name":"并发 1","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":17286,"XAxisIndex":0,"YAxisIndex":0}]},{"name":"并发 2","type":"line","smooth":false,"connectNulls":false,"showSymbol":false,"waveAnimation":false,"renderLabelForZeroData":false,"selectedMode":false,"animation":true,"data":[{"value":17977,"XAxisIndex":0,"YAxisIndex":0}]}],"title":{"text":"TTFT随时间变化"},"tooltip":{"show":false},"xAxis":[{"data":["17:36:40"]}],"yAxis":[{}]}
;
let action_YIMMOZBeQHGr = {"areas":{},"type":""}
;
goecharts_YIMMOZBeQHGr.setOption(option_YIMMOZBeQHGr);
goecharts_YIMMOZBeQHGr.dispatchAction(action_YIMMOZBeQHGr);
</script>
</body>
</html>