<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>阿哲的自留地</title>
    <link>https://azhenote.xyz/</link>
    <description>阿哲的自留地 - 一个写代码、养猫、折腾服务器的人</description>
    <language>zh-CN</language>
    <atom:link href="https://azhenote.xyz/feed.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 18 Jul 2026 00:00:00 +0000</lastBuildDate>
    <item>
      <title>被挂上热榜的那晚：单日 87 万 PV 复盘</title>
      <link>https://azhenote.xyz/posts/hot-list-night.html</link>
      <guid isPermaLink="true">https://azhenote.xyz/posts/hot-list-night.html</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
      <description>一篇旧文突然被转到了热榜，凌晨两点被监控告警吵醒。记录一下那晚的带宽曲线、CDN 账单，以及我做对和做错的事。</description>
      <category>复盘</category>
      <category>流量</category>
      <category>CDN</category>
      <content:encoded><![CDATA[<h2 id="凌晨两点的告警">凌晨两点的告警</h2>
<p>7 月 12 号凌晨 1:47，手机连震三下把我吵醒。是 Uptime Kuma 的告警：源站响应时间超过 3 秒。</p>
<p>迷迷糊糊打开 Grafana，看到出站带宽的曲线几乎是垂直往上的——平时深夜也就 2-3 Mbps，那会儿已经冲到 <strong>340 Mbps</strong> 还在涨。</p>
<p>第一反应是被打了。查了下 access log，来源很干净，全是真实 UA，refer 集中在一个聚合站——去年写的那篇《给爸妈装 NAS 的踩坑记录》被人转上了热榜。</p>
<h2 id="那晚的数据">那晚的数据</h2>
<p>事后从 CDN 后台拉了报表，大概是这样：</p>
<ul>
<li>当日 PV：<strong>87.3 万</strong>（平时日均 6000 左右）</li>
<li>峰值带宽：412 Mbps</li>
<li>当日流量：<strong>1.2 TB</strong></li>
<li>源站回源请求：不到 2%</li>
</ul>
<p>最后一条是重点。98% 以上的请求被 CDN 边缘节点扛掉了，我那台 2C4G 的小服务器全程 CPU 没超过 40%。</p>
<h2 id="做对了的事">做对了的事</h2>
<ol>
<li><strong>全站静态化</strong>。文章就是 HTML 和 Markdown 文件，没有数据库查询，没有动态渲染，缓存命中率天然高。</li>
<li><strong>图片全部走独立 CDN 域名</strong>，并且提前做了 WebP 化（见我之前那篇图床文章），单图平均只有 80KB。</li>
<li><strong>Cache-Control 给得很激进</strong>。静态资源 <code>max-age=31536000</code>，文章页也给了 10 分钟的边缘缓存。</li>
</ol>
<h2 id="做错了的事">做错了的事</h2>
<p>也有翻车的地方：</p>
<ul>
<li>评论服务是自己搭的，没上缓存，那晚被打挂了两次，最后临时把评论区关了。</li>
<li>有一张 4MB 的原图忘了压缩，那一张图当晚就跑了 200 多 GB 流量。心疼。</li>
</ul>
<h2 id="账单">账单</h2>
<p>最担心的账单环节：因为主力流量都在按量付费的 CDN 上，那天多花了 <strong>43 块钱</strong>。说实话比我想象的便宜多了，一次热榜的成本还不到一顿火锅。</p>
<blockquote>
<p>结论：个人博客抗流量的关键不是服务器多强，而是让请求根本到不了你的服务器。</p>
</blockquote>
<p>有类似经历的朋友欢迎在评论区聊聊你们的峰值数据。</p>
]]></content:encoded>
    </item>
    <item>
      <title>自建图床一年：每月 2TB 流量的省钱心得</title>
      <link>https://azhenote.xyz/posts/image-hosting.html</link>
      <guid isPermaLink="true">https://azhenote.xyz/posts/image-hosting.html</guid>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
      <description>博客图多，流量大头全在图片。从对象存储直连到加 CDN、WebP 化、按需缩放，账单从每月三百多降到不到五十。</description>
      <category>图床</category>
      <category>流量</category>
      <category>折腾</category>
      <content:encoded><![CDATA[<h2 id="为什么图床是流量大头">为什么图床是流量大头</h2>
<p>我的博客文字部分 gzip 之后每页不到 20KB，但一篇带图的文章动辄 2-3MB。翻了下统计：<strong>图片占了全站流量的 91%</strong>。</p>
<p>每月 2TB 左右的出站流量里，文字只占零头。所以省钱要从图片下手。</p>
<h2 id="一年前的状态">一年前的状态</h2>
<p>最早我直接用对象存储的外链：</p>
<ul>
<li>存储费：几块钱，忽略不计</li>
<li>流量费：0.5 元/GB，每月 2TB ≈ <strong>300+ 元</strong></li>
</ul>
<p>对个人博客来说这不可持续。</p>
<h2 id="三步优化">三步优化</h2>
<h3 id="1-挂-cdn">1. 挂 CDN</h3>
<p>对象存储前面套一层 CDN，流量单价直接从 0.5 降到 0.2 左右，而且命中缓存的请求不再回源产生存储侧流量费。这一步账单直接砍半。</p>
<h3 id="2-全量-webp-按需压缩">2. 全量 WebP + 按需压缩</h3>
<p>写了个脚本把历史图片全转成 WebP，质量 82：</p>
<pre><code class="language-bash">for f in *.{jpg,png}; do
  cwebp -q 82 &quot;$f&quot; -o &quot;${f%.*}.webp&quot;
done</code></pre>
<p>平均体积从 450KB 降到 <strong>80KB</strong>，肉眼几乎看不出差别。仅这一项，流量就少了 80%。</p>
<h3 id="3-响应式尺寸">3. 响应式尺寸</h3>
<p>列表页缩略图根本不需要原图，用 CDN 的图片处理参数按需缩放：</p>
<pre><code>![](https://img.example.com/photo.webp?w=640)</code></pre>
<p>手机端再也不用下载 2000px 宽的大图了。</p>
<h2 id="现在的账单">现在的账单</h2>
<ul>
<li>月流量：从 2TB 降到约 600GB（访问量还涨了）</li>
<li>月支出：<strong>不到 50 元</strong></li>
</ul>
<h2 id="一点感想">一点感想</h2>
<p>很多人觉得&quot;个人博客流量大 = 烧钱&quot;，其实大部分流量都是浪费在没优化的图片上。把图片治理好，普通人的博客离免费额度天花板还远得很。</p>
<p>下一步想试试 AVIF，有经验的朋友求分享。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026 年中小结：换了工作，猫胖了，博客活着</title>
      <link>https://azhenote.xyz/posts/mid-year-2026.html</link>
      <guid isPermaLink="true">https://azhenote.xyz/posts/mid-year-2026.html</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate>
      <description>半年过去了。换了一份更远但更有意思的工作，煤球胖了一公斤，博客更新了 14 篇。流水账，随便看看。</description>
      <category>随笔</category>
      <category>生活</category>
      <content:encoded><![CDATA[<p>转眼 2026 年已经过了一半，照例写个流水账。</p>
<h2 id="工作">工作</h2>
<p>四月底换了工作，从原来的电商公司跳到了一家做基础设施的小厂，继续写 Go。通勤从 20 分钟变成了 50 分钟，但做的东西终于是自己感兴趣的了——分布式存储，每天跟一致性协议打交道，痛并快乐着。</p>
<p>面试季的心得攒了一堆，等入职满半年脱敏之后写一篇。</p>
<h2 id="生活">生活</h2>
<ul>
<li><strong>煤球</strong>胖了一公斤，兽医说再胖就要处方粮了。它对此表示抗议，方式是凌晨四点踩我脸。</li>
<li><strong>年糕</strong>学会了开抽屉，家里所有零食被迫升级为带锁收纳盒。</li>
<li>五一去了一趟青海，湖边风大得能把人吹跑，但星空值回票价。照片在<a href="#">相册页</a>，流量预警，全是大图。</li>
</ul>
<h2 id="博客">博客</h2>
<p>上半年更新了 14 篇，比去年同期多。几个数字：</p>
<ul>
<li>上半年总 PV：约 96 万（主要归功于<a href="https://azhenote.xyz/posts/hot-list-night.html" target="_blank" rel="noopener noreferrer">被挂热榜那次</a>）</li>
<li>RSS 订阅：1900 → 2600</li>
<li>收到读者邮件 41 封，都回了</li>
</ul>
<p>最开心的是有个读者说照着我的 NAS 文章给他爸装了一台，他爸现在天天用来存钓鱼视频。这种反馈比任何数据都让人有动力。</p>
<h2 id="下半年想做的事">下半年想做的事</h2>
<ol>
<li>把拖了半年的相册功能重写掉，现在的版本太费流量了</li>
<li>学会做戚风蛋糕（已失败三次）</li>
<li>带煤球减肥成功</li>
</ol>
<p>就这样，下半年见。</p>
]]></content:encoded>
    </item>
    <item>
      <title>我的桌面与工具清单（2026 版）</title>
      <link>https://azhenote.xyz/posts/desk-setup-2026.html</link>
      <guid isPermaLink="true">https://azhenote.xyz/posts/desk-setup-2026.html</guid>
      <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
      <description>一年一度的装备贴。今年最大变化是把台式机换成了 mini 主机，桌面终于清爽了。附软件清单。</description>
      <category>工具</category>
      <category>桌面</category>
      <content:encoded><![CDATA[<p>一年一度的装备贴。写这个系列的第四年了，回头看每年的变化还挺有意思。</p>
<h2 id="今年最大的变化">今年最大的变化</h2>
<p>把用了五年的 ATX 台式机换成了一台 mini 主机。起因是搬家时抬着那个 20 斤的铁盒子爬六楼，当场顿悟。</p>
<p>性能够用吗？日常写代码、跑几个容器完全没问题。打游戏？我已经一年没打了，接受现实。</p>
<h2 id="桌面清单">桌面清单</h2>
<ul>
<li><strong>主机</strong>：Mini 主机，32G 内存，2T 固态</li>
<li><strong>显示器</strong>：27 寸 4K + 竖屏副屏（看代码和文档神器）</li>
<li><strong>键盘</strong>：静电容，用了三年，键帽都磨亮了</li>
<li><strong>鼠标</strong>：无线人体工学，治好了我的腕痛</li>
<li><strong>升降桌</strong>：站坐交替，实际站着的时间约等于零</li>
<li><strong>其他</strong>：桌面永远有一只猫，通常是煤球，因为它占据了出风口</li>
</ul>
<h2 id="软件清单">软件清单</h2>
<h3 id="开发">开发</h3>
<ul>
<li>编辑器：还是那个不用说名字的编辑器，插件精简到了 12 个</li>
<li>终端：换了 Rust 写的那个新终端，快是真的快</li>
<li>数据库客户端：终于付费了，工具值得付费</li>
</ul>
<h3 id="效率">效率</h3>
<ul>
<li>笔记：从大而全的那款换回了纯 Markdown + Git，同步就是 <code>git push</code></li>
<li>剪贴板历史、窗口管理：各一个小工具，加起来不到 10MB</li>
<li>密码管理器：自建的，跑在家里 NAS 上</li>
</ul>
<h2 id="服务器">服务器</h2>
<p>顺便说下这个博客跑在哪：</p>
<ul>
<li>源站：2C4G 的小服务器，一年三百多</li>
<li>CDN：按量付费，图片流量大，但优化后每月不到 50（详见<a href="https://azhenote.xyz/posts/image-hosting.html" target="_blank" rel="noopener noreferrer">图床那篇</a>）</li>
<li>监控：Grafana + Uptime Kuma，全自建</li>
</ul>
<h2 id="明年的-flag">明年的 flag</h2>
<p>不买新东西。（去年也是这么说的）</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
