Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 删除文件目录会降低整个Web服务器的运行速度_Php_Linux_Ubuntu_Nginx_Ext4 - Fatal编程技术网

Php 删除文件目录会降低整个Web服务器的运行速度

Php 删除文件目录会降低整个Web服务器的运行速度,php,linux,ubuntu,nginx,ext4,Php,Linux,Ubuntu,Nginx,Ext4,我在/var/www/media中有一个目录,其中的子目录包含了相当于一天的许多图像。每晚使用rm-rf/var/www/media/1234删除其中一个子目录。服务器在Ubuntu12.04上运行Nginx/PHP,带有带有日志记录的ext4文件系统 问题:执行删除操作时,整个web服务器的速度会减慢到爬行状态iotop通过jbd2/md3-8和md4\u raid1显示99%的IO利用率。我相信jdb2正在使用文件系统/dev/md4上的ext4日志记录,该文件系统承载着我们正在删除的文件/

我在
/var/www/media
中有一个目录,其中的子目录包含了相当于一天的许多图像。每晚使用
rm-rf/var/www/media/1234
删除其中一个子目录。服务器在Ubuntu12.04上运行Nginx/PHP,带有带有日志记录的ext4文件系统

问题:执行删除操作时,整个web服务器的速度会减慢到爬行状态
iotop
通过
jbd2/md3-8
md4\u raid1
显示99%的IO利用率。我相信
jdb2
正在使用文件系统
/dev/md4
上的ext4日志记录,该文件系统承载着我们正在删除的文件
/var/www/media

让删除操作使服务器停止是不可接受的。我的选择是什么


我们是否必须将ext4日志设置为
data=writeback
,以加快速度并避免重击我的服务器?

检查手册页中的
ionice
,该手册页旨在调整这类内容。不过,这很微妙,因为表演工作总是如此。纯磁盘I/O正在杀死您的服务器,这一事实立即说明您的服务是磁盘绑定的,这不是一个令人愉快的地方(存储比CPU更难扩展!)。也许最好的选择是将RAM添加到您的设备中,但显然我们不能不提供详细信息。

我以前遇到过类似的情况。对我来说,有效的方法是将删除分批放入不同的子目录中。我在服务器上的RAM利用率不到50%,总共16GB。我想IO瓶颈是在硬盘上。是不是有什么东西通过读取整个硬盘来破坏所有的磁盘缓存?这基本上意味着您的I/O缓存不工作,这是您需要解决的问题。