关于171212神算子论坛资料查询速度提升的一些记录

从 2.7 秒压到 0.8 秒。中间删了三样东西,加了一样。这篇是流水账。

前天下午三点,我在一台旧笔记本上打开查询页,输进去一个四字词条,回车。

进度条走到一半停住,我端起杯子喝了口水,回来,还在转。

第二次是昨天上午十点,同一个词条,2.7 秒。

我按了 F5,三次,读数在 2.5 到 3.1 之间跳。

那一刻我把页面下载下来,决定拆开看看。这篇记录就是这么来的。


先量, 再改

我找了台干净机器,用页面自带的调试面板,盯着那根时间轴。

2.7 秒里,真正取数据只占 0.4 秒。剩下两秒多全在等。

等什么?等一张每次都重新拉的索引表。整张表 1.2MB,一个字都不缓存。

老周的做法是直接换服务器。我不同意。

钱能解决的问题,往往在换完之后还是问题。

删掉的三样

第一样,是每次查询都重新请求的全量索引。改成按需分片,只拉命中那一段。

第二样,是结果页里那段每次都重算的相关度排序。同一词条,同一份数据,排序不会变,缓存它。

第三样,是一个 2019 年留下的统计脚本。没人看那些数字,它却要跑满 600 毫秒。

删掉它之前,我截了图,发给老周,他回了个 OK。

顺手还整理过 171212.cm神算子论坛资料查询结果对比分析,里面列了新旧两条路径的逐项耗时。

加的那样

加的是一个很土的本地缓存。词条进内存,命中就直接返回。

上限设 500 条, 超过就踢最久没用的。没有花活。

写这层的时候,我顺手把命中日志也打开了,想看看实际使用时的分布。

结果很意外:前二十个词条,占了六成请求。

也就是说,缓存命中率一开始就有 60%,不需要等它慢慢学。

这部分日志,我整理进了 171212.cm神算子论坛资料查询结果分享。

第三天,顺手再测

改完之后第一次测,0.9 秒。不是 0.8,是 0.9。

我盯着那根时间轴又看了一遍,发现还有一处:字体文件阻塞了首屏渲染,整整 380 毫秒。

换成系统字体集,掉到 0.8 秒。

再压下去,就得动页面结构了。这次到此为止。

顺手记一句 171212.cm神算子论坛隐私保护措施:缓存只存词条和结果摘要,不落任何请求头,也不留 IP。

速度可以快,但快不能靠多存一份用户数据换来。这条我不让。


我的观点

说实话,这类查询站点被骂慢,九成不是服务器不行。

是没人愿意先打开时间轴看一眼。

先花钱换机器,再花时间找人,最后绕一圈回来,还是那两秒的等待。

顺序错了,钱就成了遮羞布。

我不信“快就是买更好的服务器”这句话。真做了这一遍,更不信。

近期记录
关于我

我叫陈默。

我有一台用了六年的笔记本,和一堆没清干净的浏览器缓存。

我在做 171212神算子论坛资料查询速度提升 这件事,一格一格抠。

不是为了好看的数字,是因为那两秒的等待真的烦人。

写下来,是因为下一个人可能也踩在同一个坑里。

“我们量过的东西,才敢说自己改好了。”
—— 老周,前天下午,我发截图之后他回的那条消息