Общие Вопросы По Настройке Серверов

Короче, ничего не помогает. После перезагрузки сервера некоторе время панельки "редактировать дизайн" и "редактировать содержимое" работают, после чего работать перестают.

- перезапуск Редиса не помогает.

- очистка OPCache не помогает.

- остается только apcu, так как рестарт Апача помогает в 100% случаев.

Что дальше делать - не знаю.

Короче, ничего не помогает. После перезагрузки сервера некоторе время панельки "редактировать дизайн" и "редактировать содержимое" работают, после чего работать перестают.

- перезапуск Редиса не помогает.

- очистка OPCache не помогает.

- остается только apcu, так как рестарт Апача помогает в 100% случаев.

Что дальше делать - не знаю.

1. Убедитесь, что Opcache настроен верно. Особенно opcache.validate_timestamps=1.

2. Укажите другой бэкэнд вместо APCu (например, файловый).

1. Убедитесь, что Opcache настроен верно. Особенно opcache.validate_timestamps=1.

2. Укажите другой бэкэнд вместо APCu (например, файловый).

Фигня-то в том, что раньше все работало...

И другой бэкэнд == будет же меньше скорость? У меня вроде кроме этих двух злосчасных панелей все в норме...

... тьфу блин... ;opcache.validate_timestamps=1 - закомменчено! Точно не трогал, что за фигня...

Раскомментил, наблюдаю.

Стоп! Так ручная очистка OPCache же не помогала...

Ну, как я идумал, не помогло - как не помогает ручная очистка ОПКэша. Прошел час - панельки перестали работать...

Вот на всякий мой конфиг ОПКэша, но дело явно не в нем.

; Enable Zend OPcache extension module
zend_extension=opcache.so
; Determines if Zend OPCache is enabled
opcache.enable=1
; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0
; The OPcache shared memory storage size.
opcache.memory_consumption=128
; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8
; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 100000 are allowed.
opcache.max_accelerated_files=4000
; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5
; When this directive is enabled, the OPcache appends the current working
; directory to the script key, thus eliminating possible collisions between
; files with the same name (basename). Disabling the directive improves
; performance, but may break existing applications.
;opcache.use_cwd=1
; When disabled, you must reset the OPcache manually or restart the
; webserver for changes to the filesystem to take effect.
opcache.validate_timestamps=1
; How often (in seconds) to check file timestamps for changes to the shared
; memory storage allocation. ("1" means validate once per second, but only
; once per request. "0" means always validate)
opcache.revalidate_freq=2
; Enables or disables file search in include_path optimization
;opcache.revalidate_path=0
; If disabled, all PHPDoc comments are dropped from the code to reduce the
; size of the optimized code.
;opcache.save_comments=1
; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments"
; may be always stored (save_comments=1), but not loaded by applications
; that don't need them anyway.
;opcache.load_comments=1
; If enabled, a fast shutdown sequence is used for the accelerated code
;opcache.fast_shutdown=0
; Allow file existence override (file_exists, etc.) performance feature.
;opcache.enable_file_override=0
; A bitmask, where each bit enables or disables the appropriate OPcache
; passes
;opcache.optimization_level=0xffffffff
;opcache.inherited_hack=1
;opcache.dups_fix=0
; The location of the OPcache blacklist file (wildcards allowed).
; Each OPcache blacklist file is a text file that holds the names of files
; that should not be accelerated.
opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
; Allows exclusion of large files from being cached. By default all files
; are cached.
;opcache.max_file_size=0
; Check the cache checksum each N requests.
; The default value of "0" means that the checks are disabled.
;opcache.consistency_checks=0
; How long to wait (in seconds) for a scheduled restart to begin if the cache
; is not being accessed.
;opcache.force_restart_timeout=180
; OPcache error_log file name. Empty string assumes "stderr".
;opcache.error_log=
; All OPcache errors go to the Web server log.
; By default, only fatal errors (level 0) or errors (level 1) are logged.
; You can also enable warnings (level 2), info messages (level 3) or
; debug messages (level 4).
;opcache.log_verbosity_level=1
; Preferred Shared Memory back-end. Leave empty and let the system decide.
;opcache.preferred_memory_model=
; Protect the shared memory from unexpected writing during script execution.
; Useful for internal debugging only.
;opcache.protect_memory=0

Тьфу, блин, похоже еще один косяк нашел, который есть результат чего-то что криво работает... На странице анкеты : http://www.stencil-library.ru/nasha-anketa/сразу показываются результаты. Что я ни делал, как не бился головой об стену, и кэши чистил, и браузеры менял, и режимы инкогнито включал, и апач перезапускал, и в настройках менял АРС на файл, и Редис на БД, и устройства разные брал, и интернет из другого источника получал, и сессии очищал... Ноль эмоций.

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

UPD: смотрю роботом Гугла - он видит анкету нормальную... Что за черт не пойму, мысли мои что ли движок читает?....

Добрый день. Подскажите , пожалуйста, если приобрести лицензию на движок и доп. витрину, то далее на стороне сервера как настроить, чтобы два сайта работали отдельно друг друга, но управлялись из одной админки? Я правильно понимаю, что движок должен быть установлен в одну директорию на сервере и работать с единой базой данных, а все домены, поддерживаемые системой, должны ссылаться на эту директорию (быть алиасами) ?

Добрый день. Подскажите , пожалуйста, если приобрести лицензию на движок и доп. витрину, то далее на стороне сервера как настроить, чтобы два сайта работали отдельно друг друга, но управлялись из одной админки? Я правильно понимаю, что движок должен быть установлен в одну директорию на сервере и работать с единой базой данных, а все домены, поддерживаемые системой, должны ссылаться на эту директорию (быть алиасами) ?

Всё верно. Достаточно просто указать алиас (ServerAlias или server_name) с адресом витрины.

Всё верно. Достаточно просто указать алиас (ServerAlias или server_name) с адресом витрины.

А как заказать у Вас рекомендации по настройке сервера? Куда писать? И сколько это стоит?

А как заказать у Вас рекомендации по настройке сервера? Куда писать? И сколько это стоит?

Написал вам личное сообщение.

Добрый, обновил сертификат ssl, теперь мне пишет что "соединение http защищено с помощью устаревших методов шифрования", версия 4.3.10. куда что добавить чтобы исправить?

Добрый, обновил сертификат ssl, теперь мне пишет что "соединение http защищено с помощью устаревших методов шифрования", версия 4.3.10. куда что добавить чтобы исправить?

Похоже, что вы используете сертификат, выписанный SHA-1. Поддержка таких сертификатов ограничена декабрём 2016-го года. Это не требование CS-Cart и не связано с его работой. Пришлите ссылку на ваш проект, чтобы можно было в этом убедиться.

Sept.online

Sept.online

Предположение было неверным. Ваш веб-сервер использует устаревший и небезопасный набор шифров RC4 (TLS_RSA_WITH_RC4_128_MD5 и TLS_RSA_WITH_RC4_128_SHA). Их необходимо обязательно отключить, ведь противном случае некоторые браузеры продолжат сообщать пользователям о небезопасном соединении.

Также обратите внимание, что вы также не используете Perfect Forward Secrecy (безопаснее использовать), кеширование сессионных идентификаторов и OCSP stapling (TLS медленнее, чем может быть). Эти изменения не обязательны, но желательны.

Спс

Глеб, добрый день!
У меня вопрос, как можно продиагностировать быстродействие сайта, понять где узкое место?
Товаров не очень много, 2.5 тыс. Размер базы 20 Мб.
Сайт на vds, 2 ядра Xeon E5620, 2.4Ghz, 2 ГБ RAM
На сайте в поле поиск ввожу артикул.
И жду результата 15-20 сек!
https://frezia-light.ru/?subcats=Y&pcode_from_q=Y&pshort=Y&pfull=Y&pname=Y&pkeywords=Y&search_performed=Y&q=snake&dispatch=products.search
Ядра при этом загружаются неравномерно. То по 50%, то одно 100%, иногда оба прыгают до 100%.
http://joxi.ru/52a5wLgTG63y32
Что можно сделать? Добавлять ядра?

Глеб, добрый день!
У меня вопрос, как можно продиагностировать быстродействие сайта, понять где узкое место?
Товаров не очень много, 2.5 тыс. Размер базы 20 Мб.
Сайт на vds, 2 ядра Xeon E5620, 2.4Ghz, 2 ГБ RAM
На сайте в поле поиск ввожу артикул.
И жду результата 15-20 сек!
Ядра при этом загружаются неравномерно. То по 50%, то одно 100%, иногда оба прыгают до 100%.
Что можно сделать? Добавлять ядра?

Сразу скажу - добавление ядер не поможет, точнее мне не помогло. У меня аналогичный по размерам магаз (3000 товаров).

http://www.stencil-library.ru/

У Вас проблемы явные не только с поиском. Посмотрите на раздел каталога - просто адово время загрузки страницы, СЕМЬ!!! секунд, клиент не будет ждать, Вы будете терять 80% продаж.

http://ping-admin.ru/free_test/result/1478854614v962wk4639q1sts009pa1.html

Я на своем сайте добился снижения отклика с 3 секунд (это тоже хреново, хотя не жесть как у Вас) до 0.6 секунды на дешевейшем VDS (плачу 48 евро за ДВА ГОДА). Парметры те же что у Вас 2х2.4 ГГц + 2 Гб.

Что я бы смотрел (так как методика определения что Вам Глеб сейчас скажет это не дря средних умов :-( )

1. Сам хостинг. Может врут с характеристиками.

2. Последовательно отключать модули и смотреть на быстродействие.

3. Можно, конечно, включить режим дебага и увидеть огромное число запросов что делает движок к базе, почте чего приуныть, и перейти к п.2

:-)

Далее - кеширование все включено? И NGINX и опкеш (если на Апаче работет сайт)? Версия РНР какая?

PHP 5.6.23

Да, с каталогом что-то тоже долго стало.

Попробую п.2

varnish включен, но в админке ещё пока не включали.

Разобрался.

Стало:

3 с на некэшированный каталог.

http://ping-admin.ru/free_test/result/14788575581030d3zb9gf8fng55xu216.html

0.6 с на кэшированный.

http://ping-admin.ru/free_test/result/14788574923851o85109flkh5nlq107bh.html

Кастомный модуль барахлит. Пошёл к разрабам.

Спасибо, коллега, за идею отключать модули!

Глеб, добрый день!
У меня вопрос, как можно продиагностировать быстродействие сайта, понять где узкое место?
Товаров не очень много, 2.5 тыс. Размер базы 20 Мб.
Сайт на vds, 2 ядра Xeon E5620, 2.4Ghz, 2 ГБ RAM
На сайте в поле поиск ввожу артикул.
И жду результата 15-20 сек!
Ядра при этом загружаются неравномерно. То по 50%, то одно 100%, иногда оба прыгают до 100%.
Что можно сделать? Добавлять ядра?

Спасибо за вопрос. Проблема производительности веб-приложений достаточно распространена не только в мире eCommerce и CS-Cart в частности, а потому подходы везде примерно одинаковые.

Тема достаточно объёмная, но если коротко, то инженерный подход начинается с анализа загруженности системы. Например, с помощью утилиты sar снять метрики с со всех подсистем (CPU, RAM, Network, Disk) и провести их анализ. Если вы найдёте подсистему ОС, которая не справляется с нагрузкой (чрезмерное потребление памяти, повышенная нагрузка на CPU, высокий трафик, низкая скорость чтения/записи и пр.) — это хорошая отправная точка для дальнейшего исследования.

Владельцы CS-Cart часто испытывают проблемы с CPU. Чтобы найти конкретное место, нужно начать профилировать приложение с помощью XHProf/XDebug, поставив начало в точке входа в приложение (index.php), а конец замера в окончании (app/Tygh/Bootstrap.php). В полученном отчёте следует обратить внимание на то, какие функции выполняются дольше всего и по какой причине. Нередко такие проблемы решаются сменой алгоритма, его оптимизацией.

В случае, когда оптимизация затруднительна, можно увеличить скорость отклика установкой оптимальных параметров среды (работает ли кеширование опкодов, включено ли кеширование запросов MySQL и пр.) или обновлением ПО (последняя ли версия интерпретатора, СУБД и пр.). Иногда проблемы бывают не на серверной стороне, а в отсутствии оптимизации фронтенда, не забудьте произвести замеры производительности в веб-инспекторе — задержку можно сократить, используя компрессию изображений, стилей и сценариев. Не стоит забывать, что и сервер должен быть физически расположен как можно ближе, ведь есть и сетевые издержки при передаче трафика: чем дальше сервер — тем выше RTT.

В вашем случае я бы сразу начал с профилирования приложения и уже дальше действовал по обстоятельствам. К сожалению, мне не кажется, что мой ответ вам помог, потому если у вас есть что-то более конкретное — смело спрашивайте, я постараюсь дать более чёткий ответ.

Разобрался.

Стало:

3 с на некэшированный каталог.

http://ping-admin.ru/free_test/result/14788575581030d3zb9gf8fng55xu216.html

0.6 с на кэшированный.

http://ping-admin.ru/free_test/result/14788574923851o85109flkh5nlq107bh.html

Кастомный модуль барахлит. Пошёл к разрабам.

Спасибо, коллега, за идею отключать модули!

Еще подкину идею: если конфиг SQL дефолтный, то это ОЧНЬ хреново. Надо туда лезть и обязательно:

- включать кеширование

- отключать разрешение DNS (может ОЧЕНЬ сильно ускорить!)

- ну и так далее.

На VDS обычно стоит вообще нулевой конфиг my.conf то есть даже не из шаблонных "малый-средний-большой"...


Да, и OPCache дюже сильно помогает.