目前我在运行 Magento 的服务器上遇到了问题,它慢得令人难以置信。
这是一个 VPS,上面有一些 Magento 安装用于开发,所以我是唯一一个使用它们的人。当我在 2 秒后执行 4 个请求时,我在 10 秒内完成。缓慢,但仍在我的耐心范围内。但是,当我执行 4 个“并发”请求时(非常快地连续打开 4 个选项卡),所有四个核心都会达到 100% 并在那里停留一分钟。
这怎么可能?
我知道这里有很多可能性,因此也欢迎任何有关如何使 Apache/PHP 服务器运行得更快的提示。
以前它运行得更快,我也试过 APC,但它一直导致问题(PHP 错误,内存池问题),所以我禁用了它。
顺便说一句,Magento 缓存已关闭,编译也已关闭。我知道这会使 Magento 比平时慢,但我认为任何 Magento 安装的 60 秒响应时间都不正常。
虚拟硬件:
4 核和 4096MB RAM
Swap 从未使用(使用 htop 检查)100GB 磁盘空间,其中 10% 正在使用
软件:
Debian 6 DirectAdmin 和 apache custombuild PHP 5.2.17 (CLI)
如果您需要更多信息,请告诉我如何获取,因为我可能不知道如何获取。我知道如何在 linux 中使用命令行以及很多命令的使用,但是我管理服务器的经验有限。
当你禁用缓存时,Magento 会非常慢。在 vps 上更是如此,因为它必须解析大量的 XML 文件。它呈现页面的方式使得在整个页面上添加新内容变得非常容易,但它也需要一些大量的 sql 查询并加载 xml 文件。
因此,禁用缓存意味着 magento 必须在每个传入的请求上读取这些 xml 文件。因此,每个进程现在都在争夺 cpu 和磁盘 IO。在 vps 磁盘 IO 上,90% 的时间都会出现瓶颈。因此,4 个并发进程都要求读取大量 xml 文件,导致 apache 进程上出现大量 CPU 等待。
如果您strace在其中一个 apache 进程在 magento 中呈现页面时执行 ,您将看到它必须呈现的所有 xml。
我已经有两年多没有接触过 magento,但是运行一个有流量的网站是一场噩梦,所以我的公司当时最终构建了自己的软件。
| 归档时间: |
|
| 查看次数: |
13332 次 |
| 最近记录: |