当前位置:首页 > 奇闻趣事

延时系统 【交易技术前沿】交易系统低延时测试与分析

本文选自《交易技术前沿》第33期(2018年12月)

证券期货行业测试中心(CICC)陈伟昌东延张宏业

摘要:订单延迟是衡量交易系统性能的重要指标。本文利用交换机的端口镜像功能和低延迟交换机产生的纳秒时间戳,实现了交易系统的高精度逐单延迟测量。通过逐单分析延迟数据,验证交易系统的性能微笑曲线,得到交易系统的最佳性能区间(舒适区)。同时,比较了逐阶延迟和现有对数采样方案的优点。

关键词:低延时开关;时间戳;交易系统;订单延期

1前言

证券期货交易系统具有交易时间相对集中、交易指令和数据密集的特点,对交易系统的处理速度要求很高。近年来,全球各大交易所都在不断升级交易系统,“低延迟”成为各大交易所竞争的核心[2]。几个典型的外汇交易系统的性能数据如表1[3]所示,说明交易系统的延迟竞争已经进入微秒量级。目前,国内外汇交易系统的延迟性能与国外顶级交易系统仍有一定差距,需要在R&D进一步投资和建设。在构建“低延迟”交易系统的过程中,测试交易系统的“低延迟”性能是不可避免的。

2方案介绍

交易系统延迟有多种维度定义。参考Cinobber公司的白皮书[4],定义三个延迟指标:端到端、门对门和业务逻辑,如图1所示。对于交易所来说,重点是门到门延迟指标和整个门到门环节的分段延迟指标。分段延迟指标不是本文的重点,就不详细解释和分析了。后面提到的交易延迟指标,如果没有指定,都是指门到门延迟指标。交易延迟是指申报进入交易前台,被交易系统处理,返回交易系统接入点的总时间。交易延迟反映了交易系统的处理速度。延迟越小,订单处理越快,性能越好。

目前,市场上测量和分析系统延迟的方法有很多,如图2所示,主要分为软件时间戳和硬件时间戳两类。

2.1软件时间戳

软件时间戳通常使用嵌入式时间统计代码或中间件如Weblogic来记录时间戳。该方案实现简单,存在精度差等明显缺点,会增加系统负担,增加系统延迟的波动范围。目前很多交易所直接在交易系统中添加探针,对交易指令进行采样计算延迟,并通过系统日志输出,从而获得订单延迟。但是用这种方法获取延时存在一些问题,比如:时间戳取自服务器,导致精度达不到测量要求;只能得到少量的采样阶次延迟,具有一定的偶然性,不能完全反映采样周期内所有阶次延迟的表现。因此,它不能满足交易系统“低延迟”性能测试的需求。

2.2硬件时间戳

硬件时间戳,顾名思义,就是用硬件来时间戳。目前网络流量采集、时间戳和分析的主流解决方案有三种:交换机时间戳、专用采集卡时间戳和网卡时间戳。

2.2.1给开关打上时间戳

交换机的时间戳方法是利用SPAN技术(交换机端口镜像法)将网络数据包异步镜像到交换机上,在网络数据包经过交换机时,可以实时准确地给网络数据包加时间戳,然后将加时间戳的网络数据转发给分析服务器。网络拓扑图如图3所示。该方案的优点是部署简单灵活,对现有拓扑和系统环境影响不大[5];缺点是成本高,需要特定低延迟交换机的支持。例如,思科Nexus 3548交换机就是一种典型的带硬件时间戳的低延迟交换机。

2.2.2带有专用采集卡的时间戳

专用网络采集卡通过专用采集卡的时间戳方法直接部署在分析服务器上。交换机将网络数据包镜像到采集卡后,采集卡完成时间戳和数据包解包分析。网络拓扑图如图4所示。该方案的优点是部署简单、吞吐量大、实时分析观察。其缺点是需要绑定厂商的采集卡,不具有通用性,扩展性差,受厂商限制。

2.2.3网卡时间戳

在该方案中,专用网卡用于时间戳和绕过路由到分析服务器。网络拓扑图如图5所示。优势在于更精确的应用延迟分析(不包括网络延迟),但也存在一些问题,如每个主机必须部署专用网卡,以及PTP在多个网卡之间精确计时[5]。

综上,比较了几种延迟测量方法的优缺点,见表2。

我公司对项目需求做了详细的分析,包括需要测量的网络和业务时间段,测量所需的技术和难度,对现有系统的影响,项目成本,以及项目可能的后续需求。结合以上方案的比较,最终选择开关打孔方案。结合我们的应用场景,该方案具有以下优点:

1)精度高,如采用超低延时开关,精度可提高1-2个数量级;

2)逐个测量,而现有监测系统/性能测试的结果是通过对数采样获得的;

3)旁路测量,不入侵交易系统;

4)通过订单的关联,可以实现前端和匹配核心的分段延时统计。

3程序实施

通过上一节的对比,最终确定交易系统的低延迟测试为开关打孔方案。

3.1部署架构

网络拓扑图如图6所示。客户端为压力服务器,用于报告和发送压力;交易前台是对外连接交易的“窗口”,客户端通过交易前台连接交易系统;交易核心是交易系统最重要的部分,用来处理客户订单;事务总线交换机是一个万兆交换机,负责客户端、事务前端和事务核心三个服务器之间的数据交换。延时测量交换机选用Cisco Nexus 3548,对交易总线交换机镜像的数据进行高精度盖章后分发给分析服务器;通过分析服务器上的应用程序对数据进行分析和处理,可以逐一跟踪订单,测量每个节点的延迟。

客户端、事务前端、事务核心和分析服务器四个服务器的硬件配置见表3。

3.2数据流方向

订单数据流如图7所示。客户端、事务前端和事务核心通过事务总线传输事务数据。

1)客户端声明的订单先进入交易前端,再到交易核心。交易核心完成处理后,订单的处理结果信息被发送到前端。

2)部署另一个延时测量开关,在事务总线上用准确的时间戳标记事务数据,然后转发给分析服务器。

3)在分析服务器上部署一个分析交易数据包的应用程序,实现对订单的逐一跟踪和各个节点的延时测量。

4测试案例和结果分析

在这一节中,对两个案例进行了测试和分析:1)寻找交易系统的最佳性能区间;2)比较抽样法和逐个法的区别。文中数据均已脱敏,不代表真实结果。

4.1最佳性能区间

交易系统有一个舒适区,就是延迟的最佳表现是一个区间。当计费率由小变大,交易系统由冷变热,由热变热,交易系统的延迟也由大变小,再由小变大。

测试方法:在一定的合约下,通过账单上报工具以相同的价格反复上报“买入卖出开平”订单,所有订单均成交,价格不做任何变动。计费速率从1交易/秒逐渐增加到20k交易/秒,稳定计费后60秒的计费数据作为延时数据逐一采用。

根据获得的不同计费速度下的延迟数据,绘制相应速度下交易系统的延迟帕累托图,如图8和图9所示。根据图8和图9,可以看出,在测试环境中,交易系统的延迟最好以1k笔/秒的账单报告速率来表示。

根据获得的不同计费速率下的延迟数据,绘制出交易系统在各计费速率下的延迟位图,如图10所示。从图10可以看出,测试环境下交易系统的最佳性能区间如表4所示。从表4可以看出,当计费速度在100笔/s到3k笔/s之间时,满足三个分位数的要求,表现最好。

4.2与取样方法的比较

采样方法的采集延迟存在一些问题,但过去是定性分析的。在这种情况下,将定量比较抽样方法和逐笔交易方法的差异,以证明抽样方法的局限性。

测试方法:在一定的合约下,通过账单上报工具以相同的价格反复上报“买入卖出开平”订单,所有订单均成交,价格不做任何变动。计费速率保持10k笔/秒,采用稳定计费后60秒的计费数据作为延时数据一个个。采样数据选择与这段时间对应的Syslog中的延迟数据。

根据获取的交易延迟数据和采样数据,绘制相应交易系统的延迟帕累托图,如图11所示。从图11可以看出,在测试环境中,以10K事务/秒的速度,Syslog获得的采样数据明显小于事务获得的采样数据,尤其是当延迟小于100us时,延迟越大,差距越大,这意味着采样数据的失真越大。

根据获取的逐笔交易延时数据和采样数据,绘制相应的交易延时分布位图,如图12所示。从图12可以看出,Syslog采样数据为10us小于50分钟位置的交易数据;第99百分位的数据小55us。

根据获取的逐笔延迟数据和采样数据,统计分析表明,小于200us和小于210us的数据比例如表5所示。从表中可以看出,采样得到的毛刺数据是不完整的,以10K笔/秒的速率采样得到的最大延迟小于200us,200us以上的订单约有1%被省略。

4.3结论

根据前面两种情况,我们可以得出以下三个结论:

1)交易系统中存在一个最优的计费速率,在这个速率下系统延迟最好;

2)根据交易系统延迟要求的不同,有不同的最佳性能区间,要求越严格,最佳性能区间范围越小;

3)采样数据和逐笔数据存在失真,只能用来大致了解系统运行状态;为了全面掌握系统的运行状态,需要逐一观察数据。

5展望

在本文中,我们从各种延迟测量方案中选择了一种相对较好的方案,并对交易系统的两种低延迟情况进行了测试,得到了一些测试结果。虽然这项工作是围绕交易系统进行的,但这种方法具有一定的普遍性。同时这个测试是在测试环境下进行的,绝对数据有一定失真。希望以后能在生产环境中尝试,获得更多真实数据,为开发运营同仁提供一些参考。

引用

许广斌、吴剑锋、白说。引用该论文王志平,王志平,王志平.计算机工程,2011,37(18):28-31。

[2]杨明秋。论全球证券交易系统的七大发展趋势[J]。《世界经济研究》,2010(11):31-38。

[3]许广斌。引用该论文王志平,王志平,王志平.交易技术前言201506:4-10。

[4].Cinober公司。一份关于“延迟”的中国在线白皮书,2009年

张青。使用交换机测量系统超低延迟的实践[J]。测试技术与质量管理201706:58-62。

放弃声明书

1.《延时系统 【交易技术前沿】交易系统低延时测试与分析》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《延时系统 【交易技术前沿】交易系统低延时测试与分析》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/1054391.html

上一篇

辱母杀人案进展 还有三名成员在逃

下一篇

4岁亲儿子变成别人娃 夫妻离婚想向孩“亲爹”索赔

国家idc数据中心 国家数据中心相关政策汇总

随着以互联网、云计算和大数据为代表的信息经济的快速发展,数据中心已经成为信息社会的重要基础设施,迎来了一个快速发展的时期,国内外都在布局和发展数据中心。中国在数据中心的布局和建设方面不遗余力,在标准、规划和鼓励支持措施等方面提出了相关政策。 2012年11月,工业和信息化部发布《关于进一步规...

上海兴起排队经济 需要花费2至5小时左右排队时间

上海兴起排队经济 需要花费2至5小时左右排队时间

2008年5月2日,上海出现了排队经济,排队大约需要2到5个小时。“五一”假期,上午9点半,莱佛士城开业前半小时,在商场门口等着买“嗨茶”的消费者已经排起了长队。作为上海新“网红”,滚滚人流成了“爱茶”天天开店的“前奏”。...

印146岁世界最老人类去世 临终前一段时间不吃不喝

印146岁世界最老人类去世 临终前一段时间不吃不喝

5月3日,印度去世,享年146岁。她死前有一段时间不吃不喝。印度一名146岁男子的死亡引起关注。被称为“世界上最长寿的人”的印度尼西亚老人姆巴戈多最近去世,享年146岁。戈多死在印度尼西亚中爪哇村的家中,但他的亲属没有透...

加勒比海盗6上映时间

加勒比海盗6上映时间

《加勒比海盗6》将于2021年上映。主要原因是《加勒比海盗6》制作组长忙于新片《沉睡魔咒2》的宣传制作,所以《加勒比海盗6》推迟了一段时间,导致《加勒比海盗6》延期上映。而且制作团队发生了一些变化,制作团队对《加勒比海盗》从第一部到第六部的创作有不同的看法,产生了分歧。所以《加勒比海盗第六部》的拍摄速度放缓,...

已婚老太网恋被骗 短短9个月的时间被骗取60多万

09年5月,你遇到过这样的情况吗?有人突然加了你的朋友,但他或她不是你的朋友,也不是你的亲戚同事,于是你开始想象这可能就是上天安排的缘分~ 扬州的秦阿依(化名)就遇到过这样的情况,但她怎么也想不到对方居然是自己非常熟悉的人...

河神第二季上映时间

河神第二季上映时间

《河神2》的上映时间将于2020年在爱奇艺平台播出,但具体时间尚未正式公布。该剧由金和主演,改编自的小说《河神:鬼水奇案》。第一部由李习安主演,也是李习安的一部著名电视剧。“河神”的故事主要描写民国八大奇观。当时民国时期,天津卫总有水灾,怪力有乱象传闻。主人公郭德友和顾瑛为了防止邪教再次发生,卷入了神秘而又令...

世界时间24小时查询表 世界主要城市与北京时差表

  • 世界时间24小时查询表 世界主要城市与北京时差表
  • 世界时间24小时查询表 世界主要城市与北京时差表
  • 世界时间24小时查询表 世界主要城市与北京时差表
怀孕从哪天开始算 怀孕从什么时间开始算起

怀孕从哪天开始算 怀孕从什么时间开始算起

怀孕开始时是很多人关注的健康话题。需要大家对妊娠知识有深入的了解,了解妊娠的基本知识,积极做好孕期的保健护理工作,才能更好的避免孕期对健康的影响。特别是需要做的事项,要知道什么时候怀孕,并根据实际情况做相应的护理,以促进更健康的怀孕。 怀孕什么时候开始 1.通用算法 怀孕后需要计算怀孕时间,...