kharkov_max Posted February 11, 2014 Share Posted February 11, 2014 День добрый. Уже поднимал данный вопрос, но ответа так и не нашел. Имеем Prestashop 1.5.6.1, система freebsd 8.4 Stable, mysql 5,5 и php 5,4 При включении любого кеширования xCache или memcache сайт начинает постепенно тупить и это приводит к тому что Apache22 перестает отвечать. Для memcache устанвлен сервер memcached и расширение pecl-memcache. В теории все должно работать, но не работает - виснет. Подскажите что я делаю не так ? Все же хочется включить кеширование. Если нужны логи или конфиги - выложу. Без включенных кешей, все относительно летает ... Link to comment Share on other sites More sharing options...
kharkov_max Posted February 14, 2014 Author Share Posted February 14, 2014 Хочется апнуть данный вопрос Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 14, 2014 Share Posted February 14, 2014 ты и правда хочешь ответ на такой вопрос или это шутка? до апреля вроде еще есть время. я тоже спрошу, раз такая тема, купил короче двигатель, колеса, корпус нашел, собрал машину, вроде все ок, но не едет по дороге. Пробовал толкать с горки - едет замечательно. Какие будут советы? по мемкешу все-на-одном-сервере как-то так http://stackoverflow.com/a/195833/3168644 Link to comment Share on other sites More sharing options...
kharkov_max Posted February 15, 2014 Author Share Posted February 15, 2014 ты и правда хочешь ответ на такой вопрос или это шутка? до апреля вроде еще есть время. я тоже спрошу, раз такая тема, купил короче двигатель, колеса, корпус нашел, собрал машину, вроде все ок, но не едет по дороге. Пробовал толкать с горки - едет замечательно. Какие будут советы? по мемкешу все-на-одном-сервере как-то так http://stackoverflow.com/a/195833/3168644 Не понимаю Вашего сарказма. К самому memcache у меня вопросов нет, он работает. С ним как минимум работает другой сайт НЕ Prestashop !!! А преста уверенно уходит спать ... Вот отсюда и вопрос ... Собственно повторюсь, если нужны конфиги, apache или php я покажу ... Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 15, 2014 Share Posted February 15, 2014 Не понимаю Вашего сарказма. К самому memcache у меня вопросов нет, он работает. С ним как минимум работает другой сайт НЕ Prestashop !!! А преста уверенно уходит спать ... Вот отсюда и вопрос ... Собственно повторюсь, если нужны конфиги, apache или php я покажу ... давайте я поясню, если вы не понимаете, судя по соседнему вашему топику (AllowOverride), проблемы ваши в том что граната не в тех руках и к престе имеют отношение такое же как мой пример к балету (если вдруг балерина за рулем будет). Если у вас "зависает Апач" то первым делом смотрят в логи того зоопарка что установлен и определяют причину. Мемкеш сервер у престы в бэкофисе прописан? Памяти под все это хватает? Не проще админа нанять? Link to comment Share on other sites More sharing options...
kharkov_max Posted February 15, 2014 Author Share Posted February 15, 2014 Не хочется с Вами спорить, Вы же наверное гуру и никогда не лажаете ... В предыдущем посте мной была допущена явная и грубая ошибка, что было самостоятельно найдено и исправлено. На счет Вашего намека на уровень развития, найдите мои предыдущие посты и сделайте свои собственные выводы ... На мега знания я не претендую, но считаю что не совсем дурак ... То что возможно что то не донастроено, это факт. По существу 1. Мемкеш в бекофисе включен и прописан 2. Памяти пока хватает, т.к. из выделенных 256 Мб выедается до 50Мб, не успевает в него налится, apache начинает тупить 3. В зоопарке обычных логов(access), не дебаг логов, апач делает отлуп клиенту и начинает страницы отдавать через раз. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 15, 2014 Share Posted February 15, 2014 Не хочется с Вами спорить, Вы же наверное гуру и никогда не лажаете ... В предыдущем посте мной была допущена явная и грубая ошибка, что было самостоятельно найдено и исправлено. На счет Вашего намека на уровень развития, найдите мои предыдущие посты и сделайте свои собственные выводы ... На мега знания я не претендую, но считаю что не совсем дурак ... То что возможно что то не донастроено, это факт. По существу 1. Мемкеш в бекофисе включен и прописан 2. Памяти пока хватает, т.к. из выделенных 256 Мб выедается до 50Мб, не успевает в него налится, apache начинает тупить 3. В зоопарке обычных логов(access), не дебаг логов, апач делает отлуп клиенту и начинает страницы отдавать через раз. ну так а в логах ошибок что? я далеко не мега гуру, просто блин, судя по всему там на серваке наворочено (насколько я помню) - апач проксирует апач? В таких случаях говорят "месье знает толк...", если ты сам все это собирал, то спасение утопающего, сам знаешь. Отвлеченно: нафига там вообще апач? если ты с барского плеча можешь 256 отдать под мемкэш, значит железо развитое, nginx + php и все будет летать и так. Короче тему не развиваю, может и правда кто-то сподобится разобраться Link to comment Share on other sites More sharing options...
kharkov_max Posted February 15, 2014 Author Share Posted February 15, 2014 При включении в магазине memcahe в error логах Apache [Sat Feb 15 12:15:18 2014] [error] [client IP] client denied by server configuration: /usr/local/www/apache22/data/shop/index.php А в error логах php preg_replace(): Compilation failed: invalid range in character class at offset 24 in /usr/local/www/apache22/data/shop/classes/Tools.php on line 1079 Есть подозрение что php начинает глючить. Еще одна поправка, за обратным прокси висит несколько ПК на которые он ссылается. Так вот когда магазин начинает лагать (при включении кеширования), так же начинают лагают и остальные виртуалхосты на других ПК. При этом видно что в мемкеш что то пишется, и у него еще есть куда писать. Так же паралельно с memcache работает xcache (поключен к php через *.ini). Предполагалось что xcache кеширует только php, а memcache запросы в БД. (возможно я заблуждаюсь) ... Пробовал в магазине включать только xcache, без memcache, что бы один модуль обрабатывал все кеширование, но ситуация аналогичная, отключение xcache (т.е. остается только memcache) результата не дает. Я не исключаю того варианта что как то плохо влияет проброс, но другой сайт (не prestashop) с пробросом и включенными xcache и memcache чудесно летает и кеши работают. Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 15, 2014 Share Posted February 15, 2014 т.е. фраза [error] [client IP] client denied by server configuration: вообще никакого дискомфорта не вызывает? Link to comment Share on other sites More sharing options...
kharkov_max Posted February 16, 2014 Author Share Posted February 16, 2014 Вот теперь и вопрос. Почему при включенном кеше "client denied by server configuration", а с выключеным все нормально? Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 16, 2014 Share Posted February 16, 2014 )) теперь? т.е. мы только теперь заглянули в логи, но продолжаем взывать к Великому Макаронному Монстру, ну жди ответа, чо, я бы заглянул в этот самый "server configuration", но у тебя видимо радикально иной подход к решению задач Link to comment Share on other sites More sharing options...
kharkov_max Posted February 16, 2014 Author Share Posted February 16, 2014 Вот даже не знаю что вам на это сказать ... Ответить хочется только матом. Для тех кто в танке ... 1. Мемкеш, работает т.к. к нему подключен другой сайт 2. С выключенным мемкешом магазин и хост работает нормально. 3. С включеным мемкешом, начинает тупить (большая нагрузка на CPU httpd) и в итоге web сервер отваливается, в логах сообщения показанные выше. Как возможно проверить, посмотреть почему подобное происходит? Уважаемый SergeyH если у вас нет конструктивных предложений, то не стоит спамить в эту тему и напрягать свой мозг... 1 Link to comment Share on other sites More sharing options...
Ronaldo Perez Posted February 16, 2014 Share Posted February 16, 2014 оукей, как танкист танкисту, последняя попытка, раз намеков ты не понимаешь, приведу пример как делают адекватные представители человечества - берут за яйца того кто все это настраивал или если настраивал ты, прячешь их подальше, обкладываешься конфигами и логами и начинаешь усиленно их курить, вместе с манами (опытные курильщики также очень рекомендуют гугл, говорят по одному только сообщению из логов можно много нового узнать), если смесь не вставляет - тестируешь другие версии движка на том же окружении, заодно в чейнджлог можно заглянуть, обгулить кэш и много чего еще. Но можно конечно и дальше играть в игру "у меня есть барабан, лошадка и синий флаг. Будет ли завтра дождь?", это весело, но быстро надоедает. Link to comment Share on other sites More sharing options...
Kerm Posted February 17, 2014 Share Posted February 17, 2014 (edited) Верите или нет, но я престу, что 1.4, что 1.5 устанавливал на десятки разных серверов, но всегда при включенном APC или memcached сайт начинал жутко тупить и сжирать всю оперативку...апача причем не на одном сервере не было вообще.. Однако при настройке сайта на шаред хостинге типа jino и ему подобных, все работало замечательно, руки растут откуда надо у меня...но причину я так и не понял из-за чего у меня все глючит, а на шаред хостинге нет...конфиги мемкеша и apc кеша были стандартными... В своем случае я думаю что для нормальной работы мемкеша и apc кеша стандартных настроек не достаточно и плюс к тому должен еще как то специфически быть настроенным конфиг php и nginx'а... Edited February 17, 2014 by Kerm (see edit history) 1 Link to comment Share on other sites More sharing options...
Kerm Posted February 17, 2014 Share Posted February 17, 2014 Из опыта скажу что 90% людей кто ставит престу, это небольшие интернет-магазины куда товар заносится ручками и для таких людей не нужен memcached или apc кеш, достаточно настроить на сервере связку php-fpm+nginx, и арендовать VPS сервер стоимостью 1200-1700р в месяц, не меньше двух гигов оперативки и SSD диск и все будет классно, для особых энтузиастов можно поставить модуль cache manager и настроить cloudflare... P.S.: Ну и не забываем отключать в престе не нужные модули, модули сбора статистики и выводить модули только на тех страницах которых они действительно нужны. 1 Link to comment Share on other sites More sharing options...
kharkov_max Posted February 17, 2014 Author Share Posted February 17, 2014 Kerm Собственно что и хотелось изначально услышать. Есть у других проблемы подобные моей или нет? А оказаыватся что есть и я такой не один. приведу пример как делают адекватные представители человечества - берут за яйца того кто все это настраивал или если настраивал ты, прячешь их подальше Придется за яйца брать себя. Вопрос за какое яйцо начинать себя брать, за левое (php5.4) или за правое (Apache22). Из стандартных логов не понятно почему наступает тупняк web сервера. Может кто знает или подскажет каков должен быть/рекомендован php.ini и конфиг virtualhost ? Link to comment Share on other sites More sharing options...
Kerm Posted February 17, 2014 Share Posted February 17, 2014 (edited) Я боюсь Вы не совсем понимаете логигу работы memcached и апача, тогда бы понимали что апач с мемкешем вообще не как не связан...тем более запись в virtualhost... Edited February 17, 2014 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted February 17, 2014 Share Posted February 17, 2014 memcached — связующее программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе парадигмы хеш-таблицы. С помощью клиентской библиотеки (для C/C++, Ruby, Perl, PHP, Python, Java, CSharp/.Net и др.) позволяет кэшировать данные в оперативной памяти множества доступных серверов. Распределение реализуется путем сегментирования данных по значению хэша ключа по аналогии с сокетами хэш-таблицы. Клиентская библиотека, используя ключ данных, вычисляет хэш и использует его для выбора соответствующего сервера. Ситуация сбоя сервера трактуется как промах кэша, что позволяет повышать отказоустойчивость комплекса за счет наращивания количества memcached серверов и возможности производить их горячую замену. В API memcached есть только базовые функции: выбор сервера, установка и разрыв соединения, добавление, удаление, обновление и получение объекта, а также Compare-and-swap. Для каждого объекта устанавливается время жизни, от 1 секунды до бесконечности. При исчерпании памяти более старые объекты автоматически удаляются. Для PHP также есть уже готовые библиотеки PECL для работы с memcached, которые дают дополнительную функциональность. 1 Link to comment Share on other sites More sharing options...
kharkov_max Posted February 17, 2014 Author Share Posted February 17, 2014 Я боюсь Вы не совсем понимаете логигу работы memcached и апача, тогда бы понимали что апач с мемкешем вообще не как не связан...тем более запись в virtualhost... Я с Вами абсолютно согласен, что мемкеш не имеет отношения к apache. Тут даже вопрос не про мемкеш, а про любой кеш магазина, APC, xcache ведет себя аналогично. Т.е. при выборе xcache либо APC сайт начинает тупить аналогично как при использовании memcache. Собственно если Apache не при чем, тогда остается php. Каких то рекомендаций по настройке php для магазина я тоже не встречал. Но есть проблема, и хотелось бы ее решить ... Повторюсь что установлено: 1. ОС Freebsd8.4 Stable 2. Последние версии apache22, mysql и php5.4 3. демон (сервер) memcacheD висит на другом IP НЕ локально 4. pecl-memcache и pecl-mamcacheD Собственно php.ini дефолтный, особых изменений я в нем не делал, для freebsd брал php.ini.minimal Link to comment Share on other sites More sharing options...
Kerm Posted February 17, 2014 Share Posted February 17, 2014 (edited) Я тебе выше писал что наличие memcached не ускоряет сайт, а повышает его отказоустойчивость, вполне возможно что сайт будет работать медление, но стабильнее при высоких нагрузках. Для memcached нужно дофига оперативки...так же погугли переделку хранения сессий при установленном memcached в php.ini Может там в настройках чего то...например часто такое бывает что указывают кол-во процессов, а после указывают объем занимаемой памяти в оперативке и указывают типа 300мб, а на самом деле этот параметр означает кол-во выделяемой оперативки для каждого процесса...и того если процессов 512 умножаем на 300..и получается не хило..(это я к примеру, не помню уже конфиг мемкеша) Edited February 17, 2014 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Vladimir Viflyantsev Posted February 18, 2014 Share Posted February 18, 2014 В шапке сайта появилась ошибка Warning: preg_replace(): Compilation failed: invalid range in character class at offset 24 in /virt/homes/buty/htdocs/classes/Tools.php on line 1081 Кеширование отключено. Нашел эту строку $str = preg_replace('/[^a-zA-Z0-9\s\'\:\/\[\]-\pL]/u', '', $str); что означает эта ошибка? Кто-нибудь может помочь в этом вопросе? Link to comment Share on other sites More sharing options...
Kerm Posted February 18, 2014 Share Posted February 18, 2014 (edited) Могу ошибаться, но возможно это связано с тем что сервер не настроен под кодировку UTF-8... в терминале команда locale что выдает? PS.: Наличие \pL говорит о том что это preg_replace для юникод кодировки...у меня просто то же прописано в этом файле и все прекрасно пашет.. Edited February 18, 2014 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
metacreo Posted July 5, 2014 Share Posted July 5, 2014 (edited) К вопросу.... APC prestashop 1.6 настройка тормоза и лаги Сам недавно только разобрался... НЕ используйте memcached если у вас один сервер физически. Использование APC эффективно НО APC нуждается в настройке, иначе из за недостаточно выделенной памяти и начинаются все эти чудеса с лагами. Конфиг APC на Debian /etc/php5/conf.d/20-apc.ini в нём у меня такие строки: extension=apc.soapc.enabled=1apc.shm_segments=1apc.shm_size=128apc.cache_by_default=0apc.filters="+site" APC в данном случае работает только для "site" (apc.filters="+site") где site это сайт virtualhost он же в /etc/apache2/sites-enabled/ где documentroot структура такова: # /var/sites/ # |# |-- site/www/index.php# |# |-- site2/www/index.php# |# |-- site3/www/index.php# | Данные настройки являются ОБЯЗАТЕЛЬНЫМИ для нормальной работы APC остальные настройки по вкусу и потребностям. 128Мб кэша для prestashop 1.6 пока вполне достаточно (apc.shm_size=128). Не советую увеличивать просто на всякий случай. В аттаче файл для мониторинга и отладки, кидайте в диру с магазиномпредварительно изменив:defaults('ADMIN_USERNAME','admin');defaults('ADMIN_PASSWORD','yourpass');и по адресу http://your-shop.com/apc.php смотрим на APCтут подробнее: http://site-made.ru/drupal/nastroyka-apc-keshirovanie-v-phpУДАЧИ ! apc.php Edited July 5, 2014 by metacreo (see edit history) Link to comment Share on other sites More sharing options...
Kerm Posted July 14, 2014 Share Posted July 14, 2014 С грамотно настроенным nginx+php-fpm всякие apc, memcached, xcache и т.д. полная не нужная хрень.. Link to comment Share on other sites More sharing options...
metacreo Posted July 14, 2014 Share Posted July 14, 2014 С грамотно настроенным nginx+php-fpm всякие apc, memcached, xcache и т.д. полная не нужная хрень.. согласен ! только предпочитаю apache и php без fpm , так как эта хрень тоже не нужна 1 Link to comment Share on other sites More sharing options...
kharkov_max Posted July 14, 2014 Author Share Posted July 14, 2014 С грамотно настроенным nginx+php-fpm всякие apc, memcached, xcache и т.д. полная не нужная хрень.. Т.е. по Вашему разработчики зря прилепили к магазину возможность использования различных кешей? Не совсем с Вами согласен ... Думаю что на высоких нагрузках, кеш достаточно достойно позволит разгрузить сервер, дисковую систему и т.д. На мелких магазинах с низкой посещаемость наверное за глаза будет достаточно и верно настроенного web сервера и php. Link to comment Share on other sites More sharing options...
metacreo Posted July 15, 2014 Share Posted July 15, 2014 (edited) Т.е. по Вашему разработчики зря прилепили к магазину возможность использования различных кешей? Не совсем с Вами согласен ... Думаю что на высоких нагрузках, кеш достаточно достойно позволит разгрузить сервер, дисковую систему и т.д. На мелких магазинах с низкой посещаемость наверное за глаза будет достаточно и верно настроенного web сервера и php. Всё дело в железе сервера. Например на слабых машинах и на средненьком хостинге кэш будет эфективен. На вполне современных -- бесполезен и даже будет замедлять работу движка особенно при плохой настройке php-рашрений для кэширования. Edited July 15, 2014 by metacreo (see edit history) 1 Link to comment Share on other sites More sharing options...
Kerm Posted July 18, 2014 Share Posted July 18, 2014 (edited) Если надо просто лучше, проще, привычнее и удобнее то nginx-front и apache-back+mod_php, если надо быстрее то nginx + php-fpm, php-fpm довольно быстр, потребляет достаточно мало памяти. Apc для локального кэша, memcached для сетевого...Единственно какой то прям мощной прибавки от APC практически не как не заметишь, там от силы на 2-3% производительность повыситься, а на определенных конфигурациях и со стандартными его настройками может наоборот производительность понизиться. Разработчики же в свою очередь могли встроить разные системы кэширования для ускорения работы сайта на медленных шаред хостингах. Нередко именно большинство людей сидящих именно на шаред хостингах или слабых vps начинают заморачиватся устанавливая и настраивая разные системы кеширования, пробуя разные конфигурации программ чтобы выжить из их слабого сервера еще капли производительности и не понимая что для чего используют. Например memcached используют на очень посещаемых ресурсах и соответственно хороших серверах с тучей оперативки для повышения стабильности и отказоустойчивости сервера, но выйгрыш от него ты почувствовать при большой посищалке и нагрузке на сервер, а в холостую работающий сайт на шаред хостинге или слабом vps только медленние работать от этого начнет..можешь проверить с memcached и без быстроту работы сайта. Даже включение KKK в престе ухудшает работу сайта, медление начинает сайт открываться, уменьшается количество запросов которые сервер может обработать за определенное взятое время.. Да и большую производительность престе дадут модули кэширующие запросы к базе, т.к. у престы могут быть весьма длинные и сложные запросы к ней..так же замена модуля фильтра стандартного на более производительный, т.к. стандартный очень грузит систему, уже при 10к + товарах с 100к комбинациями даже на быстром сервере все тормозить будет.. Edited July 18, 2014 by Kerm (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now