2013-09-25 2 views
3

Magento имеет режим компиляции, в котором вы можете скомпилировать все файлы установки Magento, чтобы создать один включенный путь для повышения производительности. http://alanstorm.com/magento_compiler_pathhttp://www.magentocommerce.com/wiki/modules_reference/english/mage_compiler/process/indexmagento режим компиляции vs apc

В моей текущей настройке магазина у меня уже настроен apc, который будет использоваться в качестве кеша кода операции, и я получаю прибыль от его производительности. http://www.aitoc.com/en/blog/apc_speeds_up_Magento.html

Мой вопрос являются:

1) Есть ли какие-либо преимущества использования АРС над режимом компиляции Magento, или наоборот? У меня есть выделенный сервер для magento, и я ищу максимальную прибыль от производительности.

2) Полезно ли использовать оба этих процессора? Почему или почему нет?

+0

realpath_cache_size = 128k и realpath_cache_ttl = 7200 в системе php.ini в те времена, когда добавление столь необходимого модуля заставляет компиляцию кашлять самый противный волосяной шар, который вы когда-либо видели. Вы не сможете использовать компилятор, но apc + realpath_cache даст вам возможность повысить производительность. –

+1

Кроме того, если вы хотите ускорить работу своей страницы, вам не следует полагаться на кеш-память по умолчанию. если вы хотите использовать кеш-файл, используйте, по крайней мере, драйвер ram. лучше использовать memchache или даже лучше использовать redis :) https://github.com/colinmollenhour/Cm_Cache_Backend_Redis –

+0

@Fantus Это интересно :) –

ответ

3

Они делают разные вещи, поэтому оба вместе в порядке. APC, как правило, дает больший выигрыш в производительности, что просто позволяет компиляцию, но оба они дают вам лучшее из обоих миров.

Просто помните, когда вы включили компиляцию, вам необходимо отключить ее перед выполнением любых изменений кода или обновлением/установкой модулей, а затем перекомпилировать после.

1

Как @JohnBoy уже сказал в своем ответе, оба могут использоваться совместно. Помимо этого, еще одна проблема заключалась в том, что если использование apc сделает компиляцию избыточной.

Так что я проверил сценарий с некоторыми испытаниями нагрузки siege и в целом, происходит определенное улучшение.

Вот результаты теста

siege --concurrent=50 --internet --file=urls.txt --verbose --benchmark --reps=30 --log=compilation.log

-------------|-------------------------------------------------------------------------------------------------------------------------| 
|Compilation |Date & Time   |Trans |Elap Time |Data Trans |Resp Time |Trans Rate |Throughput |Concurrent |OKAY |Failed | 
-------------|-------------------------------------------------------------------------------------------------------------------------| 
|No   |2013-09-26 12:27:23 | 600 | 202.37 |   6 |  9.79 |  2.96 |  0.03 |  29.01 | 600 |  0| 
-------------|-------------------------------------------------------------------------------------------------------------------------| 
|Yes   |2013-09-26 12:34:05 | 600 | 199.78 |   6 |  9.73 |  3.00 |  0.03 |  29.24 | 600 |  0| 
-------------|-------------------------------------------------------------------------------------------------------------------------| 
|No   |2013-09-26 12:59:42 | 1496 | 510.40 |   17 |  9.97 |  2.93 |  0.03 |  29.23 | 1496 |  4| 
-------------|-------------------------------------------------------------------------------------------------------------------------| 
|Yes   |2013-09-26 12:46:05 | 1500 | 491.98 |   17 |  9.59 |  3.05 |  0.03 |  29.24 | 1500 |  0| 
-------------|-------------------------------------------------------------------------------------------------------------------------| 

Был определенное количество дисперсии; однако, хорошая вещь была то, что всегда было некоторое улучшение, однако ничтожно.

Таким образом, мы можем использовать оба варианта.

Единственные дополнительные накладные расходы здесь - отключение и перекомпиляция после изменения модуля.

Смежные вопросы