用途:优化 Apollo.io API 的响应时间与吞吐,适用于改善延迟、减少请求数、优化批量操作等场景。
主要能力:
- 连接池:用 https.Agent 开启 keepAlive,设置 maxSockets、maxFreeSockets 与超时,复用 TCP 连接,避免每次请求重复 TLS 握手。
- 响应缓存:基于 lru-cache 实现按端点 TTL 的缓存,例如 /organizations/enrich 24 小时、/people/match 4 小时、/mixed_people/api_search 15 分钟、/mixed_companies/search 30 分钟、/contact_stages 1 小时;缓存键由端点与参数拼接。
- 批量端点:用 /people/bulk_match 每次处理 10 条记录,替代逐条调用,减少请求数。
- 并发控制:用 p-queue 限制并发与速率,并行搜索多个域名。
- 响应瘦身:从约 2KB 的 person 对象中只保留 id、name、title、email、company、seniority 等字段,降至约 200B。
- 基准测试:对搜索、鉴权健康等端点测量平均与 p95 延迟;付费富化端点需显式批准与预算。
使用方式:需有效 Apollo API key 与 Node.js 18+。按步骤引入 optimized-client、cache、bulk-ops 等模块,在调用处使用 cachedRequest 与 batchEnrich,并用 benchmark 脚本对比优化前后指标。
适用场景:搜索延迟回归排查、批量富化、多域名并行检索、内存占用优化。
限制:搜索免费但较慢(约 500ms),富化消耗积分,应积极缓存并批量调用;付费端点基准测试需审批、固定积分预算与公开组织样本;若延迟改善但出现陈旧、错误或缓存过宽的结果,应回滚。具体价格、配额与平台支持范围资料未提供。