Оптимизация скорости Magento

Я просто новичок здесь. Я использую xampp1.7.1 php версии 5.2.9 и Magento 1.7. На моем локальном сервере я хочу увеличить скорость magento, и для этого я пробую много трюков, которые можно найти в Google. Но все равно производительность не растет. В частности, время сохранения (что бы я ни сохранял в бэкэнде) занимает огромное время (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_packet = 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»

  2. Включить «Управление кешем» из бэкэнда magento

  3. Установите расширение «Fooman_Speedster»

Но все равно скорость от этого не увеличилась. Если у вас есть какие-либо предложения или советы, пожалуйста, поделитесь со мной. Извините за мой английский. Заранее большое спасибо.


person Community    schedule 08.10.2012    source источник


Ответы (1)


При локальной разработке в Windows есть две распространенные причины задержки: разрешение локального хоста — одна, а другая — медленные файловые операции Windows из-за сложного ACL ОС.

Чтобы исправить ситуацию, вы должны заменить каждую запись локального хоста в вашей установке magento на 127.0.0.1. Некоторые люди делают запись в своем файле хостов Windows, которая позволяет перенаправить localhost на 127.0.0.1 , это улучшит время обслуживания файла, но команды php, такие как PDO connect, по-прежнему будут производить задержку в одну секунду, пока 127.0.0.1 не заменит localhost в настройках.

Чтобы избежать медленных операций с файлами в Windows, вам нужен ускоритель php кеша операций, такой как APC или WinCache. При разработке в Windows вы можете активировать IIS и использовать Microsoft Web Platform Installer для установки/настройки PHP, MYSQL и WinCache в несколько кликов. При использовании xampp вы можете установить APC с помощью http://downloads.php.net/pierre/ или < href="http://dev.freshsite.pl/php-accelerators/apc.html" rel="nofollow">http://dev.freshsite.pl/php-accelerators/apc.html двоичные файлы или создать APC с помощью Visual Studio, а затем настроить с помощью указаний из Интернета. По моему опыту, последняя версия WinCache работает очень быстро, и это действительно безопасный выбор для Windows. Очень немногие разработчики, которых я знаю, используют IIS вместо apache из-за плохого прошлого IIS, но в настоящее время его проще настроить, он может обрабатывать больше запросов и в большинстве случаев быстрее по сравнению с apache в Windows.

С этими двумя изменениями вы увидите улучшение на 1000%-20000%, в то время как настройка MySQL для производства вообще не принесет пользы среде разработки. Настройка кеша и gzip в htaccess также не принесет пользы локальной среде, во-первых, потому что вы читаете файлы непосредственно с жесткого диска (с оптимизатором кеша из памяти), а во-вторых, потому что это динамический сайт, который вы будете постоянно изменять во время разработки, поэтому вы не можете установить время истечения срока действия и отключить etags.

Чтобы еще больше повысить скорость, вам придется настроить свой шаблон. В нескольких словах, поскольку все предлагают объединить все png, которые вы можете, преобразовать в base64 те, которые вы не можете объединить, и использовать такой инструмент, как Lab.js, для управления загрузкой, чтобы вы могли убедиться, что ваша страница загружается менее чем за 1,5 секунды. При переходе к производству используйте CDN для обслуживания мультимедиа. Если все пойдет хорошо, все будет так быстро, что вы больше не будете заботиться о тестах HW, оптимизации БД и сравнении хостинга, пока у вас не будет много тысяч посещений в день и вы не будете обслуживать много контента. (Статическое кэширование, а не динамические страницы/части страниц и использование системы кэширования magento для ваших скриптов для максимальной скорости).

P.S. Использование версии клиента Windows для трансляции сайта в www является законным, если вы не измените ограничение на 20 одновременных подключений в ОС, насколько я понимаю, при чтении лицензии.

person chris.cktdesign    schedule 09.01.2013
comment
Большое спасибо за ваш информативный повтор .... я попробую .... извините за недавний ответ :) - person ; 12.01.2013