INFORMIX-SE 7.2:
我想专门为包含所有 .dat 和 .idx 文件的 dbname.dbs 目录分配一块硬盘,并为 /tmp 临时文件创建一个 ramdisk,以提高性能。我还想从操作系统中删除所有不必要的文件和进程,以最大限度地减少专用应用程序的开销。这是一个好主意吗?是否有任何路线图可以实现这一点?
答案1
按照描述的方式划分工作是完全合理的,尽管目前仅为数据库使用单个 500 GB 磁盘可能被认为是过度的。
如果您有事务日志,它应该位于磁盘驱动器上,而不是 RAM 驱动器中。否则,目录中的.dat
和文件(除非您喜欢并将它们放在其他地方)对于 SE 来说就足够了。.idx
.dbs
剥离操作系统是可以的 - 只要确保不要删除操作系统处理升级等事务所需的任何内容。您应该努力保持时间服务可用(可能是 SNTP)。您可能希望 SSH 可用。否则,是的,删除您不会使用的内容。
是否有减少操作系统的路线图?我不知道……
答案2
这可能很快就会迁移到 serverfault.com,但这是我的经验:
如果某些数据库的临时文件在重新启动时被破坏,则它们无法很好地从崩溃中恢复。我不知道 Informix 是否也是如此。此外,RAM 通常最好用作数据库缓冲区(至少,这是我使用 MySQL 的经验)。这样,数据库就可以以最有效的方式使用它。如果您的预算中有足够的固态硬盘 (SSD) 来容纳您的临时文件,那么这可能是一项不错的投资。
如果您要专用硬盘,则意味着您有多个可用硬盘。考虑使用 RAID 0 来组合两个或多个硬盘,而不是使用单独的硬盘。根据我的经验,这几乎可以让您的读/写性能提高两倍(基于使用 MySQL 进行的基准测试,以及我的应用程序事务组合)。
删除“不必要的”文件不会真正提高性能,停止不必要的进程才会。假设您的磁盘空间充足,未使用的文件不会对您的性能造成太大影响(它们可能会导致磁盘碎片,但随操作系统安装且从未更改的文件可能不会产生碎片,除非磁盘一开始就非常碎片化)。
说到碎片,请确保定期对保存数据的磁盘进行碎片整理。如果插入和删除操作较多,这可能会对您的性能产生很大影响。