写申请材料或者赶论文的人对文献库的抱怨往往是想开却打不开,其实多数时候能打开,只是慢到让人放弃。慢的位置很具体:结果列表页本身很小,但它会同时向十几个不同域名要引用次数、影响因子、相似文献与作者信息,每一个都要单独排队(依据 10 月 18 日的请求瀑布图记录)。
请求瀑布图告诉我们什么
| 页面 | 并发域名数 | 未接入首屏 | 接入后首屏 | 主要耗时环节 |
|---|---|---|---|---|
| 关键词结果列表 | 34 到 58 个(采样统计) | 8.7 秒(三次取中位) | 2.3 秒(同口径三次) | 引用次数与相似文献接口 |
| 单篇文献详情 | 19 到 27 个(采样统计) | 5.1 秒(三次取中位) | 1.6 秒(同口径三次) | 参考文献列表与指标徽章 |
| PDF 预览页 | 11 到 14 个(采样统计) | 12.4 秒(三次取中位) | 4.7 秒(同口径三次) | 分页图层与缩略图 |
| 作者主页 | 23 到 31 个(采样统计) | 7.9 秒(三次取中位) | 2.8 秒(同口径三次) | 发文统计图与机构信息 |
四个页面的耗时都与并发域名数正相关,域名越多越吃亏。这也是为什么只测下载速度看不出问题:单文件下载用的是同一条连接,而检索页要靠几十条短连接各自往返(测试条件:教育网出口,浏览器开发者工具的瀑布图记录)。
连续下载为什么会失败
- 长连接被中断 PDF 下载多走长连接,中断一次就要从下载队列尾部重排。46 篇连续抓取中,未接入失败 9 次,其中 7 次是连接中断(采样口径:同一天同一批次的两轮抓取)。
- 失败多在切换时刻 线路自动切换的那一两秒里正在传输的连接最脆弱,把线路固定后,同样的批次失败降到 2 次(测试条件:固定线路后的重复抓取 3 轮)。
- 队列长度比速度重要 一次提交 20 篇比一次提交 5 篇更容易失败,实测失败率分别是 22% 与 4%,建议分成小批(依据 240 次检索与下载的记录统计)。
时段与出口的选择
- 上午优于晚上 教育网出口在 20 点后与宿舍网高峰重叠,同一次检索的首屏从 2.3 秒拖到 4.1 秒(测试条件:同一账号 3 个时段的重复采样)。
- 按数据库位置选出口 主库在欧洲的走法兰克福,在北美走圣何塞,选反了首屏要多 1.8 秒左右(采样统计:两条线路各 30 次检索)。
- 机构代理与加速别叠加 学校图书馆的代理本身就是一层转发,与客户端叠加会出现绕路,实测首屏从 2.3 秒劣化到 6.4 秒(依据 10 月的 5 次叠加复现记录)。
检索效率上的四步
- 先用窄条件 把年份与学科先限死,结果从 3,200 条压到 180 条,页面加载时间随之从 6.1 秒降到 2.9 秒(测试条件:同一次检索的两种条件对照)。
- 关掉相似文献面板 这一块要额外拉 12 个请求,关掉后首屏快 0.7 秒(采样口径:20 次检索的对照记录)。
- 分批抓取 每批 5 篇,失败率从 22% 降到 4%,总量一样但重试成本低得多(依据 240 次记录的批次对照)。
- 把常用库加进排除列表之外 校内镜像站不需要走加速,加进客户端的直连排除列表能减少一次绕行(来源:3.5.0 版的排除列表规则)。
镜像站与错峰下载
部分高校有本地镜像站,命中镜像的请求根本不走国际链路,那部分流量不需要加速。实测同一关键词在镜像上的首屏 1.2 秒,比走加速的 2.3 秒还快(测试条件:南京教育网出口,各 20 次检索)。把镜像站加进直连排除列表能同时省下流量与等待。
另一条经验是错峰:数据库的访问高峰与欧美工作时区重叠,把批量下载放在北京时间早 7 点到 9 点,同样的 46 篇批次失败次数从 2 次降到 0 次(采样口径:10 月三个时段的重复抓取记录)。
小结:文献库的瓶颈是并发域名的往返次数,不是带宽。要判断加速有没有用,看结果列表的首屏时间与连续下载的失败次数这两项,别只看单个 PDF 的下载速度(依据本次 240 次检索与 46 篇下载的统计)。
另外,部分数据库会按机构 IP 段授权,出口位置换了可能被要求重新登录。遇到这种情况把该库加进直连排除列表,或者固定一条与机构授权地区一致的线路,能省掉反复登录的麻烦(测试条件:10 月的 6 次授权弹窗复现)。