TechEmpower框架基准测试:第20回合

2021-02-09 21:33:52

在此测试中,通过从简单数据库表中提取一行来处理每个请求。然后将该行序列化为JSON响应。

HTTP / 1.1 200 OK 内容长度:32 内容类型:application / json 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 {&#id":3217," randomNumber":2149}有关要求的详细说明,请参见“源代码和要求”部分。

在此测试中,通过从简单数据库表中获取多行并将这些行序列化为JSON响应来处理每个请求。测试将运行多次:每个请求测试1、5、10、15和20个查询。所有测试均以512并发运行。

HTTP / 1.1 200 OK 内容长度:315 内容类型:application / json 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 [{" id":4174," randomNumber":331},{" id":51," randomNumber":6544},{ &#34id:#4462," randomNumber":952},{" id&#34 :: 2221," randomNumber":532},{&# 34; id":9276," randomNumber&#34 :: 3097},{" id&#34 :: 3056," randomNumber":7293},{" id&#34 :: 6964," randomNumber":620},{" id&#34 :: 675," randomNumber":6601},{" id&# 34;:8414," randomNumber":6569},{" id&#34 :: 2753," randomNumber":4065}]有关要求的详细说明,请参阅“源代码和要求”部分。

在此测试中,通过从内存数据库中提取多个缓存的对象(已根据需要或在测试之前从数据库表填充了缓存)并将这些对象序列化为JSON响应来处理每个请求。该测试将运行多次:对每个请求测试1、5、10、15和20个缓存的对象提取。所有测试均以512并发运行。从概念上讲,这与多查询测试相似,不同之处在于它使用缓存层。

HTTP / 1.1 200 OK 内容长度:315 内容类型:application / json 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 [{" id":4174," randomNumber":331},{" id":51," randomNumber":6544},{ &#34id:#4462," randomNumber":952},{" id&#34 :: 2221," randomNumber":532},{&# 34; id":9276," randomNumber&#34 :: 3097},{" id&#34 :: 3056," randomNumber":7293},{" id&#34 :: 6964," randomNumber":620},{" id&#34 :: 675," randomNumber":6601},{" id&# 34;:8414," randomNumber":6569},{" id&#34 :: 2753," randomNumber":4065}]有关要求的详细说明,请参阅“源代码和要求”部分。

在此测试中,框架的ORM用于从数据库表中获取所有行,该数据库表包含数量未知的Unix幸运饼干消息(该表具有12行,但是代码不能预知该表尺寸)。在运行时,会将另一个幸运饼干消息插入列表,然后按消息文本对列表进行排序。最后,使用服务器端HTML模板将该列表传递给客户端。消息文本必须被认为是不受信任的并且可以正确地转义,并且必须正确呈现UTF-8财富消息。

HTTP / 1.1 200 OK 内容长度:1196 内容类型:text / html;字符集= UTF-8 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 &lt;!DOCTYPE html&gt;&lt; html&gt;&lt; head>&lt; title&quot; Fortunes&lt; / title&lt; / head&lt; body&lt; table&lt; table&lt; tr&gt;&lt; th&gt; id&lt; / th&gt;&lt; ; th / message / th / tr / ttr 11t / td&lt; td&gt;&lt; script&amp; gt; alert(&quot; &lt; / script&gt; / td&lt; / tr&lt; tr&lt; td&gt; 4&lt; / td&lt; td&gt;不良随机性数字生成器:1,1,1,1,1,4.33e + 67,1,1,1 / td / tr trt td 5 5 / td tdA计算机程序会执行您要执行的操作,而不是您要执行的操作。/td</tr<tr<td>2&lt; / td&lt; td&gt;计算机科学家就是某人/ td&lt; / tr&gt; tr&lt; td&lt; td&gt; 8&lt; / td&lt; td&gt;列表仅与最弱的链接一样强大。 -唐纳德​​·库努斯(/ td)/ tr> tr> td> 0lt / td> tdt在请求时间增加了额外的财富。/td</tr>/tr &lt; td&gt; 3&lt; td&gt; td&gt;在足够的小数位后,没有人给出该死的&lt; / td&lt; / tr&lt; tr&lt; trd&lt; td&gt; 7&lt; / td&lt; td&gt;任何运行正确的程序都是过时的。&lt; / td&lt; / tr&gt; tr&lt; td&gt; 10&lt; / td&gt; td&lt; td&gt;计算机会犯非常快速,非常准确的错误。 ; / tr&gt; tr&lt; td&gt; 6 // td&lt; td&gt; Emacs是一个不错的操作系统,但我更喜欢UNIX。 -Tom Christaensen&lt; / td&gt; / tr&gt;&lt; td&gt; 9&lt; / td&lt; td&gt;功能:有资历的错误。/td&lt; / tr&gt; / tr&lt; tr&gt; &lt; td&gt; 1&lt; / td&gt;&lt; td&gt ;:没有这样的文件或目录&lt; / td&lt; / tr&lt; tr&lt; tr&lt; td&gt; 12&lt; / td&gt;&lt; td&gt;フレーレーレークのベンチマク&lt; / td&lt; / tr&lt; / table&lt; / body&lt; / html&gt;有关需求的更详细说明,请参见“源代码和需求”部分。

在此测试中,每个响应都是一个新实例化的对象的JSON序列化,该对象将关键消息映射到值Hello,World!。

HTTP / 1.1 200 OK 内容类型:application / json 内容长度:28 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 {&message&#34;:&#34; Hello,World!&#34;}有关要求的更详细说明,请参见“源代码和要求”部分。

在此测试中,框架以最简单的响应进行响应:&#34; Hello,World&#34;邮件呈现为纯文本。响应的大小保持很小,因此千兆位以太网并不是所有实现的限制因素。此测试已启用HTTP管道传输,并使用了更高的客户端并发级别(请参见&#34; Data表&#34;视图)。

HTTP / 1.1 200 OK 内容长度:15 内容类型:文本/纯文本;字符集= UTF-8 服务器:示例 日期:2013年4月17日,星期三,格林尼治标准时间 你好世界!有关需求的更详细说明,请参见“源代码和需求”部分。

框架和测试实现会随着时间而变化,我们的综合得分权重仅针对正式回合(例如&#34;&#34;)进行计算。为了使下面显示的综合评分有意义,应使用与最新官方回合对应的实现版本来收集结果。

此处呈现的结果是使用提交ID生成的 。尽管这是不匹配的,但下面将使用的复合权重作为占位符。

TPR-3是三机配置的综合硬件环境得分,该分数源自带有TPR标签的框架的所有测试类型。

环境得分仅适用于包含全套TPR标签框架的回合或临时运行。如果运行中缺少任何带有TPR标签的框架,我们将无法计算出公平的环境得分。此运行缺少以下带有TPR标签的框架:

每个测试类型(在下面的彩色列中显示)的每个框架的峰值性能都乘以上面显示的权重。然后将结果求和以产生加权分数。仅包括实现所有测试类型的框架。

标有图标的框架是TechEmpower性能评级(TPR)衡量硬件环境的一部分。硬件环境的TPR等级在“复合分数”选项卡上可见(如果有)。 如果您有关于的任何评论,请发布在Framework Benchmarks GitHub讨论区。