没有一个通用的最佳并发数,得看你的机器、网络和这批卡的规模一起定;而且并发数是「能同时开的上限」,不是每批都稳定顶满的承诺。开得越大不等于越快,过头反而更容易触发限速、把整批拖慢。本页讲怎么估起点、怎么按实际表现调、以及为什么开满也常跑不满。
并发数设成 N,意思是「最多允许同时进行 N 个查询」,不是「每一批都会有 N 个稳稳跑满」。实际能同时跑多少,受你机器性能、网络状况和对方响应快慢的共同牵制,任何一环慢下来,顶着的并发就会自动回落。
所以看到设了较高并发、实际却没跑满,先别急着判定软件出了问题:更常见的是外部环节成了瓶颈。把并发理解成「油门踩到底也未必到最高速」,而不是「设多少就一定跑多少」,预期才不会落空。
没有标准答案,从保守值起步最稳:先用一个不高的并发跑一小批,看整批能不能顺利跑完、有没有明显的失败或变慢,再一点点往上加。别一上来就把并发拉到最大,拿几百张真卡去试探上限。
往上调的时候一次只动一个变量——只加并发,别同时又换网络又改批量,否则出了问题分不清是谁的锅。每加一档,盯住失败率和整体耗时两个数;一旦失败开始变多、或速度不升反降,就说明过界了,退回上一档。
并发开过头,最直接的后果不是更快,而是更容易被官方限速——短时间内挤出去太多请求,对方会主动压你的速度,甚至让一部分查询直接失败。算上重试和失败重跑,整批反而比稳一点的并发更慢。
至于为什么不能无限快、被限速之后具体怎么退让恢复,本页不细讲,见查询频率限制。记住一点就够:并发不是越大越好,它和限速本就是一枚硬币的两面。
并发吃的是本机资源和网络带宽。机器老旧、内存吃紧,或网络本身不稳,把并发硬拉高只会让失败和超时增多,换不来更快的整批速度;先确认硬件和网络撑得住,再谈加并发。
还有一点常被忽略:一批卡的总量越大,越该用稳一点的并发慢慢磨,而不是靠高并发抢时间。稳稳当当一次跑完、不用返工,通常比一开始冲高、事后满地补查更省心也更省时。