我的网站托管在共享主机中。从 cpanel 的资源使用选项中,我可以看到我的站点的 I/O 限制为 4096,并且在高峰时间,我的站点经常达到其 I/O 限制。由于我对此了解不多,并且在谷歌搜索后没有找到任何关于它的详细文章,所以我无法优化我的 php 脚本以减少 I/O。我唯一知道的是输入输出过程。有人能解释一下什么是 I/O,我怎样才能减少 I/O?提前致谢。
3 回答
你用MYSQL做数据库吗?如果您使用的是“select * from .......”,请将其更改为您只需要的内容。例如“从...中选择名称”。* 操作将返回大量数据,这将增加 i/o 使用率。所以优化查询。另外在一些php脚本中会有多个查询,检查是否可以最小化。
另一个原因是由于高分辨率图像。如果您有高分辨率图像,要么减小它们的大小,要么将这些照片上传到 flicker 或任何会提供指向该图像的热链接的网站。然后在您的网站中使用它。因此,您的服务器的 i/o 使用量将减少
我已经遇到过这个错误,这是我找到的最好的解决方案:
在您的根文件夹(可能称为 public_html)中,请将此代码添加到您的 .htaccess 文件中...
将 00.00.00.000 替换为您的 IP 地址。如果您不知道自己的 IP 地址,请转至 What Is My IP - The IP Address Experts since 1999
#By Marky WP Root Directory to deny entry for WP-Login & xmlrpc
<Files wp-login.php>
order deny,allow
deny from all
allow from 00.00.00.000
</Files>
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 00.00.00.000
</Files>
在您的 wp-admin 文件夹中,请将此代码添加到您的 .htaccess 文件中...
#By Marky WP Admin Folder to deny entry for entire admin folder
order deny,allow
deny from all
allow from 00.00.00.000
<Files index.php>
order deny,allow
deny from all
allow from 00.00.00.000
</Files>
在共享主机环境中,或者实际上在几乎任何系统中,I/O 将是从磁盘到内存的读取和写入速度度量。
此限制在使用 CloudLinux LVE 技术的共享托管环境中通常受到限制。
由于 WordPress 网站在后端使用了大量文件,每个插件也会添加更多文件(别忘了你的主题)。I/O 限制可以很快飙升。
在 WordPress 网站上,有许多插件可以为您的页面启用缓存。因此,无需在每次加载时重新加载每个 php 页面,服务器将能够发送从您的缓存插件创建的静态页面。这将大大减少您的托管 IO。
不是像 W3 Total Cache 这样的插件在旧的 PHP 版本上非常有效,但在 PHP7 上不起作用。一个值得一看的付费插件是 WP Rocket。
我希望这有助于理解 IO 是什么!