我在 Ubuntu 11.04 机器上运行游戏服务器。游戏是 Minecraft。我的服务器的最大(最小?)瓶颈是硬盘上数据的读取/写入/访问时间。我觉得 SSD 可以对性能产生巨大影响。
Minecraft 地图存储在单独的区域文件中,这些文件进一步划分为“块”。每个文件的大小在 64 KB 到 10 MB 之间(取决于它们的“开发程度”)。用户正在创造世界,因此在玩游戏时不断加载这些文件并进行编辑。我希望在高峰时段有大约 15-30 名用户在线,至少有 2 或 3 名用户在线。服务器将全天候运行。
整个游戏目录(地图、玩家数据、配置文件、插件等)小于 1 GB。所以我不需要太多存储空间。我将每天将游戏数据备份到系统上更大的硬盘上。
考虑到这种情况,您建议不要使用 SSD 吗?我读过“基于 DRAM 的”SSD 没有写入限制。这是我应该考虑的事情吗?
答案1
如果你能保证数据文件永远不会超过 1-2GB 的大小,我建议(如果你的系统有足够的内存)简单地创建一个新的临时文件或者内存文件系统或者其他类型的类似 ramdisk 的文件系统。
然后,您将需要一个启动脚本来将数据复制到 ramdisk 上,并且可能有一个定期的备份过程将其备份到硬盘上,但这意味着虽然系统中的内存并不宝贵,但整个世界都可以保存在更快的 RAM 中。
当然,磁盘缓存算法(我相信 Linux 默认使用它)无论如何都会将大多数最近使用的世界数据保存在 RAM 中,但这会阻止对块的写入阻塞服务器。
固态硬盘是速度非常快,但如果你不断地写入驱动器,那么它们可能会很快死机,而 ramdisk 的寿命与内存一样长......