为小型企业配置数据库服务器时,需根据业务规模、预算和性能需求选择合适的参数。以下是一些关键建议:
1. 硬件配置
- CPU:
- 4核以上(如Intel Xeon E3或AMD Ryzen 7),支持多线程。
- 低并发场景可选4核,高并发或复杂查询建议8核+。
- 内存:
- 基础场景:8GB~16GB(如MySQL/PostgreSQL轻量级应用)。
- 中等负载:32GB(支持更多连接或缓存)。
- 内存密集型(如MongoDB):按数据量比例分配(例如1GB内存/10GB数据)。
- 存储:
- SSD(必需):NVMe SSD优先,SATA SSD次之。
- 容量:系统盘50GB+,数据盘按实际需求(预留2倍增长空间)。
- 配置RAID 10(高可用)或RAID 5(成本优先)。
- 网络:
- 千兆网卡(1Gbps)起步,内网建议万兆(10Gbps)避免瓶颈。
2. 数据库软件参数优化
通用配置(以MySQL/PostgreSQL为例)
- 连接池:
max_connections:50~200(根据应用调整,避免过多消耗内存)。
- 缓存:
innodb_buffer_pool_size(MySQL):占物理内存的50%~70%。shared_buffers(PostgreSQL):25%内存。
- 日志:
- 事务日志(
innodb_log_file_size)设为1~2GB。 - 关闭慢查询日志(生产环境按需开启)。
- 事务日志(
- 其他:
- 调整
temp_table_size和max_heap_table_size(避免磁盘临时表)。
- 调整
NoSQL(如MongoDB)
wiredTigerCacheSizeGB:占用内存的50%~60%。- 启用压缩(如Snappy/Zstd)节省存储。
3. 高可用与备份
- 备份:
- 每日全备 + 增量备份(保留7~30天)。
- 备份存储于异地或云存储(如AWS S3、阿里云OSS)。
- 高可用(可选):
- MySQL:主从复制(Master-Slave)。
- PostgreSQL:流复制 + Patroni。
- 云服务:直接使用RDS/Azure Database的托管服务。
4. 安全配置
- 防火墙:限制仅应用服务器IP可访问数据库端口(如3306/5432)。
- 加密:
- 启用TLS/SSL传输加密。
- 敏感数据字段加密(如AES-256)。
- 权限:
- 最小权限原则,禁止root/SA账号远程登录。
- 定期审计账号权限。
5. 监控与维护
- 监控工具:
- Prometheus + Grafana(自定义监控)。
- 云服务商内置监控(如AWS CloudWatch、阿里云监控)。
- 关键指标:
- CPU/内存/磁盘IO利用率。
- 慢查询率、连接数、缓存命中率。
- 维护:
- 定期优化表(
ANALYZE TABLE/VACUUM)。 - 日志轮转(避免磁盘占满)。
- 定期优化表(
6. 云服务推荐(免运维)
- AWS:RDS(MySQL/PostgreSQL),t3.medium实例起步(2核4GB)。
- 阿里云:PolarDB MySQL,2核4GB共享规格。
- 腾讯云:TDSQL-C,1核1GB入门(适合测试)。
注意事项
- 测试环境验证:所有参数调整前需在测试环境压测(如sysbench)。
- 按需扩展:云服务可弹性扩容,物理服务器建议预留20%资源余量。
根据实际业务负载和数据增长动态调整参数,初期可保守配置,后续逐步优化。
云服务器