1

我只是这里的初学者。我正在使用 xampp1.7.1 php 版本 5.2.9 和 Magento 1.7。在我的本地服务器中,我想提高 magento 的速度,为此我尝试了很多在谷歌中找到的技巧。但性能仍然没有提高。特别是节省时间(无论我在后端保存什么)都需要大量时间(5 分钟或更多......)。这是我所做的清单:

  1. 在 php.ini 文件中:

更改值

memory_limit = 8M --> memory_limit = 128M
query_cache_size=16M --> query_cache_size=64M
  1. 在 my.ini 文件中:

设置key_buffer的值 = 512M max_allowed_pa​​cket = 64M table_cache = 512 sort_buffer_size = 4M read_buffer_size = 4M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 64M tmp_table_size = 128M query_cache_size = 96M

  1. 在 magento .htaccess 文件中取消注释重要的行

由此 :

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
###SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
#BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
#BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
#BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
#SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
#Header append Vary User-Agent env=!dont-vary

</IfModule>

对此:

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

</IfModule>
  1. 从“#php_flag zlib.output_compression on”取消选中“php_flag zlib.output_compression on”</p>

  2. 从 magento 后端启用“缓存管理”

  3. 安装“Fooman_Speedster”扩展

但是它的速度仍然没有增加。如果您有任何建议或提示,请与我分享。对不起我的英语不好。非常感谢提前。

4

1 回答 1

2

在 windows 上开发 localy 时,有两个常见的延迟原因,一个是 localhost 的解析,另一个是由于复杂的 OS ACL 导致的 windows 文件操作慢。

为了改善这种情况,您必须将 magento 安装中的每个 localhost 条目替换为 127.0.0.1。有些人在他们的 Windows 主机文件中创建一个条目,允许将 localhost 重定向到 127.0.0.1 ,这将提高文件服务时间,但是像 PDO connect 这样的 php 命令仍然会产生一秒钟的延迟,直到 127.0.0.1 在设置中替换了 localhost 。

为了避免 Windows 慢速文件操作,您需要一个操作码缓存 php 加速器,如 APC 或 WinCache。在 windows 中开发时,您可以激活 IIS 并使用 Microsoft Web Platform Installer 来安装/配置 PHP、MYSQL 和 WinCache,只需单击几下。使用 xampp 时,您可以使用http://downloads.php.net/pierre/http://dev.freshsite.pl/php-accelerators/apc.html二进制文件安装 APC,或者使用 Visual Studio 构建 APC,然后使用说明进行配置来自互联网。根据我的经验,上一个 WinCache 版本非常快,它是 Windows 真正安全的选择。由于 IIS 的糟糕过去,我所知道的开发人员很少使用 IIS 而不是 apache,但此时它更容易设置,可以处理更多请求,并且与 windows 中的 apache 相比,它在大多数部分都更快。

通过这 2 个更改,您将看到 1000%-20000% 的改进,而将 MySQL 配置为生产环境根本不会使开发环境受益。在 htaccess 中调整缓存和 gzip 也不会使本地环境受益,首先因为您直接从硬盘读取文件(使用内存中的缓存优化器),其次因为它是一个动态站点,您将在开发过程中不断更改,所以您不能设置过期时间并禁用 etag。

为了进一步提高速度,您将不得不调整您的模板。简而言之,所有人都建议将所有可以组合的 png 组合起来,将无法组合的那些转换为 base64 并使用 Lab.js 之类的工具来控制加载,这样您就可以确保加载页面的时间少于 1.5 秒。迁移到生产环境时,使用 CDN 提供媒体服务。如果一切顺利,一切都会变得如此之快,您将不再关心硬件基准、数据库优化和托管比较,直到您每天有数千次访问并提供大量内容。(静态缓存不是动态页面/页面的一部分,并为您的脚本使用 magento 缓存系统以获得最终速度)。

PS 使用 windows 客户端版本在 www 中广播站点是合法的,只要您在阅读许可证时不根据我的理解更改操作系统中的 20 个并发连接限制。

于 2013-01-09T02:24:08.117 回答