站点简介
teayear.com(茶年)是 RyeBlog 官方百万级压力测试站:全量导入中文维基百科 1,702,561 篇文章,在真实大数据负载下系统性地打磨 RyeBlog 的核心性能,并把全部成果沉淀进 RyeBlog 1.4.2 正式版。
数据规模
- 文章:1,702,561 篇(中文维基百科全量 dump)
- 正文总字数:约 11.65 亿字(1,164,745,587 字符;篇均 684 字,最长单篇 23.7 万字)
- 标题总字数:约 1,199 万字
- 标签:572,322 个,文章-标签关联 595 万条
- 数据库总大小:约 4.75 GB(磁盘占用 4.9 GB)
- 归档:273 个月
- 搜索 / 分类 / 归档 / 标签云:全部可用
存储明细(按表)
| 数据表 | 大小 | 行数 |
|---|---|---|
| vd_posts(文章主表) | 4.34 GB(数据 3.98 GB + 索引 361 MB) | 170 万 |
| vd_post_tags(文章-标签关联) | 322 MB | 595 万 |
| vd_tags(标签表) | 89 MB | 57 万 |
压测前后的性能对比
| 场景 | 优化前 | 优化后(1.4.2) |
|---|---|---|
| 文章页(含上一篇/下一篇) | 30 秒超时 | 3 毫秒(缓存命中) |
| 首页冷启动(清缓存后) | 13 秒+ | 2.6 秒 |
| 搜索 | 卡死(30s) | 3 毫秒 |
| 标签页(55 万标签) | 226 MB 页面崩溃 | 88 KB 分页 |
| 归档页 | 404 / 无内容 | 3 毫秒,按月浏览 |
| 列表 / 分类 / 标签 | filesort 数秒 | 亚秒级 |
沉淀进 RyeBlog 1.4.2 的技术要点
- 复合索引 + FORCE INDEX:列表/分类查询强制走 (type,status,created_at) 覆盖索引,杜绝百万级 filesort
- 上一篇/下一篇按主键定位:文章页相邻导航从 17 秒降到毫秒级
- 深分页尾部反转:页码落在结果集后半段时自动反向取尾窗再翻转,尾页 OFFSET 从 170 万降为 0(88 秒 → 0.13 秒)
- 整页缓存(后台开关):游客页面整体缓存,支持文件 / Redis 双后端,命中时不再执行 PHP 与数据库
- 正文渲染缓存:文章页不再每次全量解析 Markdown
- 评论数批量加载:列表页一次查询消灭 N+1
- 归档月计数物化:归档页读 O(1),告别全表 GROUP BY 重建
- 浏览计数合并写:写放大降低 5~20 倍
- content_rev 内容版本号:发文章/删文后各缓存实时失效
- 搜索缓存 / 热门侧栏优化 / 标签页分页:全面覆盖
访问入口
提示:演示站为中文维基百科全量数据镜像,搜索、分类、归档、标签云均可正常使用;整页缓存开启时响应在 3~10 毫秒级。
RyeBlogRye