(2025-08-28)突然跑去测网站TTFB

This article is categorized as "Garbage" . It should NEVER be appeared in your search engine's results.



本来还在学调频/调幅的,跑去调试网站性能了(怎么突然想到这个了)

在private window打开本网站主页(或者任意一个页面):

waiting for server response: ~850ms,这个数值和disable cache选项无关(打开或关闭都是850ms)

随后在相同的private window里打开本网站的其他页面(同一个tab跳转或者新tab)都是~250ms

这个数值也太高了,我记得两年前不是这样的,两年前这个850ms应该是~300ms才对


测了下其他网站基于cloudflare的网站,有性能比我差的,但也有性能特别好的:150~200ms(private window第一个页面)

性能更差的就不管了,这些性能更好的是怎么做到的?(暂时认为他们没买argo)

🔗 [ReiAC's Blog] https://rei.ac/ 

🔗 [郭泽宇 (@ZE3kr)] https://www.guozeyu.com/ 

🔗 [Liam's Blog] https://liamchzh.com/ 

🔗 [希卡米 | HiKami - 发给互联网的问候] https://hikami.moe/ 


由于存在ramfs+nginx fastcgi,所以什么冷热缓存一类的就不考虑了

先试试https的问题

把origin server到cloudflare server的连接改成http(对应cloudflare ssl flexible)

结果发现每个页面(无论是第一个还是后续的)都是~430ms


非wordpress页面(静态html)也有~720ms(后续则是~250ms,和wordpress一样),这些页面和wordpress使用相同的ssl配置,看来还是ssl的问题


非wordpress页面(静态html),用这个进行测试

按照gemini的意见对ssl配置进行了一堆修理,结果一看还是~720ms


感觉像是前段时间服务器迁移导致的,非常后悔没有保存以前的性能截图


看看有没有什么方法知道是哪个cloudflare IP连接了我的origin server

能记录的,但这些IP都是anycast,而且无法像客户端的cdn-cgi/trace那样显示机场代号

这条路似乎堵死了,就暂时认为cloudflare用了最近的edge node连接我的origin server吧。


发现了一点不对:private window访问网站的时候,连接到的cloudflare server(通过http header或者cgi-cgi/trace可以看出来)地理位置经常乱动,而且经常跑到大洋对面去了(严重绕路)

似乎能解释通了:850ms的情况:严重绕路

有的时候能刷出正确的cloudflare 服务器(就在附近):430ms(wordpress)和280ms(非wordpress的静态html页面)

再继续测下去能刷出350ms(wordpress),此时cloudflare服务器应该是距离最近的那个了(同一个private window继续访问,后续访问是85ms甚至更低,几乎是物理通讯的极限了)

把https改成http(cloudflare ssl flexible),在刷到正确cloudflare服务器的时候是180ms(wordpress)和175ms (非wordpress的静态html页面)

所以1. nginx fastcgi的时间确实可以忽略不计 2. 目前对我而言175ms已经是极限了 3. http也不是全都占有,除了安全性以外,由于https有0-RTT,所以后续访问都比http更快

到了现在确实已经很接近上面列举的几个160ms网站了(虽然离80ms还有点距离,但不排除是那个80ms的网站服务器刚好在我附近)


对上面的160ms/80ms网站进行分析:1. 他们可能用了flexible SSL的配置 2. 考虑到他们的服务器可能(物理上)离我更近,所以能更短

当然也不排除他们使用了其他优化手段(目测没有,都是几乎不更新的小博客,大概是不会买argo/railgun)


当然最后还是换回了之前的ssl模式,因为本博客仍然是一个基于wordpress的动态博客...而不是基于hexo的纯静态博客


https://blog.cloudflare.com/introducing-automatic-ssl-tls-securing-and-simplifying-origin-connectivity/

感觉上面的测试还是不够严谨,应该使用TTFB自动化测试:🔗 [curl command to check the time to first byte] https://gist.github.com/sandeepraju/1f5fbdbdd89551ba7925abe2645f92b5 

跑很多次,最后统计每个连接的cloudflare服务器对应的TTFB性能


跑了很多次,最终结论就是:不知道为什么就是比别人的差(同样是cloudflare wordpress,同样没有使用cloudflare page cache,同样使用全程HTTPS加密<这一点可以从0-RTT上看出来>),只能暂时归结于hetzner机房线路不行,或者正好那个人的源站服务器(物理)距离我更近


还是不死心,又花了一天时间去想brotli/gzip的事情(结果还真搞通了end-to-end brotli)


总结就是,又写了一些退烧笔记(写在<本站服务器将走向何方>和<本博客的架构与设计>)

其他CDN:退烧

Argo:基本退烧(以前开过一个月Argo,发现开了Argo也就那样)

APO:基本退烧

换个机房:还在思考



 Last Modified in 2025-11-25 

Leave a Comment Anonymous comment is allowed / 允许匿名评论