船说 CMS 搭建需要数据库多大空间
学完这篇,你能自己算出船说 CMS 从零搭建到跑到十万条影视数据,到底需要给数据库留多大空间,不用再凭感觉买服务器。
第一步:先量空库基线,知道"什么都不装"占多少
这一步要做的是:装完船说 CMS 但一条数据都不采集,查一下数据库的原始体积,得到你的起步基线。
按正常流程装完(上传源码到网站根目录 → 浏览器访问 你的域名/install → 填写数据库地址、库名、用户名、密码、表前缀),先别急着采集,用 phpMyAdmin 或命令行执行:
SELECT table_schema AS db,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.tables
WHERE table_schema = '你的库名'
GROUP BY table_schema;
结果通常在 1~3 MB。这就是船说 CMS 几十张表的空壳体积,包含 vod(影视主表)、type(分类)、user(会员)、card、plog(采集/播放日志)等表的结构和索引。
注意:
information_schema里的数字是 InnoDB 的估算值,有 10%~20% 误差,够用来做容量规划,别拿它当精确账单。
第二步:算清"一条影视数据"到底占多少字节
这一步要得到单条记录的实测值,因为它是后面所有计算的乘数。
先采 100 条数据,再执行:
SELECT table_name,
table_rows,
ROUND((data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.tables
WHERE table_schema = '你的库名'
ORDER BY (data_length + index_length) DESC
LIMIT 10;
vod 表基本排第一。把它的 size_mb 除以 table_rows,就是单条均值。经验值:
- 只有标题、分类、封面、短简介:1~2 KB/条
- 带完整简介 + 播放地址(一集 40 字、30 集算):5~10 KB/条
- 简介是长 HTML、播放地址几百集:15 KB 以上/条
大头不是标题,是 vod_content 和播放地址字段。这两个通常是 TEXT 类型,一条几百集的剧集,光播放地址就能占十几 KB。
第三步:按采集量套公式
拿到单条均值后,直接用这个公式:
总空间 ≈ 空库基线(2 MB) + 条数 × 单条字节 × 1.3(索引与碎片)
对照表:
| 影视条数 | 单条 5 KB 时 | 单条 10 KB 时 |
|---|---|---|
| 1 万条 | 约 65 MB | 约 130 MB |
| 5 万条 | 约 330 MB | 约 650 MB |
| 10 万条 | 约 650 MB | 约 1.3 GB |
| 30 万条 | 约 2 GB | 约 4 GB |
再叠加会员表、评论表、采集日志表,实际再往上浮 20%。
注意:船说的采集日志表和搜索记录表涨得比主表还快,很多站这两个表占了整个库的三分之一,装完就在后台设置里开自动清理,或定期
TRUNCATE。
第四步:把 MySQL 自身开销算进去
很多人只看数据库文件夹,结果磁盘爆了。在宝塔面板「文件」里看 /www/server/data 整个目录:
ibdata1/mysql.ibd、undo日志:几十 MB 到几百 MBbinlog(MySQL 8.0 默认开):不清理能涨到几个 GB- 慢查询日志、错误日志:按天累积
所以在宝塔面板「数据库」页面加的库配额之外,整机磁盘至少再多留 2 GB 给 MySQL 本体和日志。
注意:宝塔面板 → 数据库 → 添加数据库时,字符集选
utf8mb4,比utf8每条中文多占约 1 字节,10 万条级别可以忽略,但别用latin1,会乱码。
第五步:按结果定配置
个人测试站、1 万条以内:数据库配额给 1 GB,整机磁盘 20 GB 起步,2 核 2G 内存够跑。
5 万条以内的资讯/影视站:数据库给 3 GB,整机磁盘 40 GB 起。
10 万条以上或准备长期采集:数据库给 10 GB,最好把 /www/server/data 挂到独立数据盘,避免和网站日志抢空间。用云数据库(RDS)的话,直接买 5 GB 起步规格,MySQL 5.7/8.0 都行。
改配额不用重装,宝塔面板 → 数据库 → 对应库右侧「改密码/容量」处调整即可,物理上就是磁盘还剩多少。
小结
- 船说 CMS 空库基线约 1~3 MB,这是起步值,不是使用值。
- 真正吃空间的是
vod_content和播放地址字段,单条 5~10 KB 是常态。 - 总量公式:空库 + 条数 × 单条 × 1.3,10 万条大约 0.7~1.3 GB。
- 别漏算 MySQL 本体、binlog、日志,整机磁盘至少多留 2 GB。
- 采集日志表和搜索记录表要定期清,它们往往比主表还大。
原文链接:https://www.gj0.com/thread-424.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。