上载文件夹中的大量文件是否会影响性能?

时间:2015-05-23 作者:Igor Skoldin

有一个网站,在那里图像不会组织到基于月份和年份的文件夹中。现在,一个文件夹(上载)中有20000多个图像。当我尝试通过文件浏览器访问文件夹时,它明显冻结了。

所以,我的问题是:这会影响站点性能吗?

3 个回复
最合适的回答,由SO网友:Philipp 整理而成

Short Answer: 不

另一个问题是:在WordPress中上载大量文件会影响性能吗?答案是:很可能不是。

Reason:

WordPress使用DB获取上载文件的列表(对于许多文件几乎没有区别)

  • FTP使用文件系统(对于许多文件来说速度较慢)
    • Details:

      WordPress没有列出uploads文件夹的目录内容,因此您可以在那里转储任意数量的文件,而WordPress甚至不会注意到它。

      当您通过WordPress上传文件时,您的wp_posts 桌子WordPress只通过查看wp_posts, 因此,上载大量文件会在该表中添加更多行,因此会使SQL查询速度稍慢。尽管老实说,这个数量(数据库中的20000个条目)对大多数托管环境不会有太大影响。此外,WordPress在每一端都进行了优化,以使其快速运行(例如,它缓存SQL结果并限制查询的行数)

      然而,正如您所注意到的:当通过FTP访问文件夹时,它会冻结。这是由于FTP请求文件夹中所有文件的列表,而服务器需要一段时间才能使用包含20.000个文件名的列表进行响应。但这个性能问题并没有影响WordPress本身。

    SO网友:Rarst

    那么,它会影响站点性能吗?如果您在实际的站点操作中没有注意到,那么很可能不会注意到,至少您的文件数是这样的。

    对于大量文件,有性能方面的考虑因素。预算主机(知道自己在做什么)通常甚至对文件系统的使用有明确的限制。

    然而,在WordPress操作中,您并没有对文件系统造成太大的影响。附件的工作方式是将文件路径(以及图像大小)存储在数据库中。通过这种方式,几乎不需要访问(或者更糟的是扫描)文件系统,只需要知道文件在哪里并指向它。

    我没有直接遇到过这种情况,但据我所知,WordPress中的大量附件(如数百万个文件)问题开始在文件系统之前的数据库查询级别上表现出来。但我猜,拥有数百万文件的人已经有了能够处理它的服务器/文件系统设置。

    SO网友:Kirrus

    对一个目录中的文件或目录太多会严重影响站点性能,虽然20000个也不算太坏,但您确实开始看到超过100000个以上的问题

    请确保在WordPress设置中,您已将媒体设置为将上载内容分发到指定日期的文件夹(如2019/01/),但请注意WordPress似乎使用文件创建日期来确定将文件放入哪个文件夹,因此,如果您的用户上载在一个日期内创建的大量文件,您可能需要覆盖该设置。

    看见https://hetzner.co.za/help-centre/website/inode-usage/ 更多信息

    结束

    相关推荐

    定义WP_CONTENT_DIR时,GET_TEMPLATE_DIRECTORY_URI似乎不起作用

    我已在配置中定义:define( \'WP_CONTENT_DIR\', dirname(__FILE__) . \'/somedirectory\' ); 之后Codex: Editing WP Config但是<?php echo get_template_directory_uri(); ?> 打印输出:http://dev.domain.com/wp-content/themes/mytheme 即使它应该打印出来http://dev.domain.com/some