一个非常棘手的问题: php file_exists($path)是否检查$path的子目录??
它是磁盘读取密集型进程吗?这意味着它是否线性增加(多项式/指数)取决于目录中被检查的文件夹/文件的数量?
背景信息:我正在EC2上运行一些文件操作脚本,自从启动脚本以来,我的读取操作数一直呈指数增长。AWS的收费为0.11美元/万I/O请求,成本正在迅速增加:(
我分析了代码,我认为导致这种不断增加的性能损失问题的唯一部分是脚本检查文件是否存在,或者从S3桶下载它,因为其他几乎所有东西都是计算/写入或小读取操作。我有成千上万的文件,每一个3-5 MB,如果这是相关的。在每一个周期之后,脚本生成的文件很少类似大小等等。
编辑:修正以澄清吉姆的观点
编辑2:我询问的性能不是脚本运行的时间,而是磁盘读取的数量,因为这是由AWS单独负责的。
发布于 2013-07-26 13:50:04
1 I/O是指将1块读或写到磁盘上。块大小通常很小,通常约为4KB。对于大量访问的文件,通常需要缓存来减少执行操作所需的总体I/O。
我认为1或以下的组合正在发生。
free查看这个。发布于 2013-07-26 12:55:43
我不确定您的意思是file_exists($path)是检查路径的子目录,还是检查当前工作目录的子目录中的路径。
无论是哪种情况,答案都是否定的。$path被简单地视为路径,并且该方法确认该文件/目录是否存在。
https://stackoverflow.com/questions/17881752
复制相似问题