外汇VPS
交易和低延迟VPS
对于算法执行,尾部远比平均值重要。平均速度快但偶尔停顿4毫秒的服务器,比始终稍慢但一致的服务器花费更多。我们销售一致性:固定核心、单NUMA放置、tickless内核,以及为稳定p99而非最高吞吐量选择的网络路径。
为什么这个配置
使用isolcpus和NUMA亲和性的NITRO几乎消除了所有调度器抖动来源。部署在离你的交易场所最近的城市:欧洲股票和期货选择伦敦和法兰克福,美国市场选择纽约和阿什本,亚洲交易时段选择东京和新加坡。
我们会部署什么
规模确定
每个数据源处理器一个固定核心,每个策略一个,留两个给操作系统和网络栈。三个策略的单交易场所加密订单簿在六个NITRO核心内可容纳。整合股票数据源需求更多:每Gbps未过滤市场数据预算一个核心。内存取决于订单簿深度和保留的历史记录——32 GB可容纳完整的L2订单簿,并可存放一天的tick数据。不要购买你不会固定的核心。
p99 抖动来源
现代内核的平均延迟是可以的。尾部才是花钱的地方。按贡献顺序:调度器迁移离开你的热核,中断落在它上面,空闲间隔后的 C-state 退出,以及冷内存上的缺页。按顺序修复。在策略核上用 isolcpus 搭配 nohz_full 和 rcu_nocbs,irqaffinity 绑定到内务核,cpuidle 限制在 C1,热路径在启动时预触发并锁定内存。先用 cyclictest 测量,这样在添加自己的代码之前就知道底线。NITRO 核是绑定的,所以下面没有窃取时间。
距离,精确测量
光在光纤中每公里约 5 微秒,安装路径通常是直线的 1.4 到 1.6 倍。法兰克福到阿姆斯特丹往返约 5 毫秒。法兰克福到东京接近 240 毫秒。任何调整都无法恢复,所以机房的地铁决定了盒子。法兰克福为 Eurex 和德意志交易所,伦敦为 LSE 和外汇,纽约为北新泽西机房,东京和新加坡为大型加密货币匹配引擎。CrestVPS 在这五个地方拥有自己的机笼,这保持交叉连接路径短且方差低。
常见问题
- 调整内核而不调整C-state。在突发之间空闲200微秒的核心会退出C6,并在下一个数据包上支付几微秒的开销。限制在C1并保持核心温暖。
- 隔离核心但将网络IRQ留在其上。isolcpus如果不配合irqaffinity和RPS设置,只是将中断风暴移到策略核心上。将队列明确绑定到管理核心。
- 在错误的城市优化微秒。光纤每公里约5微秒,实际路径比地图长。没有内核工作能挽回跨大陆的跳跃。
调整配置
- CPU调度 — Pinned + isolcpus + tickless · €18
- CPU调度 — Single-NUMA-node affinity · €14
- 其他所有选项 — 秒级指标和告警 · €5
- 备份 — 每日备份,7个恢复点 · €4