服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

将PostgreSQL 8.4表移动到SSD上的表空间,但是仍旧能够以4MB / s的速度写入到旧的HDD

我首先在SSD上创build了一个postgres拥有的目录,并创build了这样的表空间: CREATE TABLESPACE ssd_tablespace LOCATION '/ssd/pgdata'; 我继续移动重要的表格和所有的索引(这只是显示一个分区,我也修改了父表): ALTER TABLE coreg_2010_a SET TABLESPACE ssd_tablespace; ALTER INDEX coreg_2010_a_pkey SET TABLESPACE ssd_tablespace; ALTER TABLE visits_2010_a SET TABLESPACE ssd_tablespace; ALTER INDEX visits_2010_a_pkey SET TABLESPACE ssd_tablespace; 所有的操作都成功了,我确认表空间已经在psql中设置了。 在移动的表之间也有外键,但是那些不是可以移动的索引。 iostat显示我在SSD上有一些写操作(虽然不是很多),通过一个正在执行INSERT操作的正在执行的脚本进入我移动的表中。 但是,绝大多数的写操作都是在旧硬盘上出于某种原因(我只写信给ssd_tablespace中的表)。 而且,索引表的总大小似乎超过了SSD所用的空间,虽然我还没有正确确认。 如果插入到(和它们的索引)的表已被移动到新的硬盘驱动器上的新表空间,为什么我仍然得到写入到我的旧硬盘驱动器? 作为参考,以下是iostat -dxk 5以5秒的间隔显示的内容。 /dev/xvde1是旧硬盘,而/dev/xvdc1是与ssd_tablespace关联的SSD: Device: rrqm/s wrqm/sr/sw/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util xvde1 0.00 486.60 0.00 […]