对于繁忙的站点,我们有一个非常大的(多个GB)Nginx缓存目录,有时我们需要一次将其全部清除。过去,我已通过以下方法解决了该问题:将缓存文件夹移至新路径,在旧路径下创建一个新的缓存文件夹,然后rm -rf
打开旧的缓存文件夹。
但是,近来,当我需要在一个繁忙的早晨清除缓存时rm -rf
,由于Nginx及其所面向的服务器都是读取密集型的,因此I / O 使服务器的磁盘访问进程陷入饥饿。我可以观察到CPU闲置时的平均负载攀升,并rm -rf
占用了98-99%的磁盘IO iotop
。
ionice -c 3
调用时rm
,我已经尝试过了,但是它对观察到的行为似乎没有明显的影响。
有什么方法可以驯服rm -rf
更多共享磁盘?我是否需要使用其他技术来借鉴ionice
?
更新:
有问题的文件系统是一个AWS EC2实例存储(主磁盘是EBS)。该/etc/fstab
条目如下所示:
/dev/xvdb /mnt auto defaults,nobootwait,comment=cloudconfig 0 2