AddThis Smart Layers

четверг, 21 марта 2013 г.

Установка и настройка Redis кеширования в Magento

Честно говоря я довольно долго присматривался к нему, изучал сравнительные характеристики.
И вот все в нем хорошо. Кроме одного - установки и настройки. Ну блин, как подумаю об этом, у меня тут же перед глазами эта картинка
Установка и настройка Redis


В конце концов решился. Как всегда на ночь глядя :-)

воскресенье, 17 марта 2013 г.

Результаты первых тестов на производительность сервера

Сразу же хочу сказать, что тесты не претендуют на идеальность.
Мне важно было понять, использование каких технологий даст существенный прирост производительности.

Например, я не делал никаких оптимизаций в настройках Apache и Nginx. Потому что это было бессмысленно. Так как тесты, которые я проводил, были на быстродействие сервера, а не на "стрессоустойчивость" в условиях массивного трафика.

суббота, 16 марта 2013 г.

Настройка Zend Optimizer Plus

Пока семья в Израиле нежится на море, а я сижу в полузамороженной Праге и на улицу как-то совсем не хочется выползать, почему бы приятно не провести время в субботу ковыряясь в настройках сервера :-)

Создал VPS для тестов и начал конфигурировать, чтобы провести серию тестов, о которых писал вчера.

Опущу всякие подробности про компиляцию Nginx, MySQL и прочих важных и не очень сервисов.
Сейчас же речь пойдет о том, что я решил установить PHP 5.4.x

пятница, 15 марта 2013 г.

Снова об оптимизации серверов

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

В одном из предыдущих постов я писал об установке Nginx на виртуальный сервер с предустановленным cPanel. Все работало и работает до сих пор очень даже хорошо.

Но, недавно я нашел еще лучшее решение, а именно связку Nginx+Varnish Cache для серверов под управлением cPanel. Называется Apachebooster. Сделал какой-то индус, но на удивление сделал добротно. Поставил уже на пару серверов и тьфу-тьфу, проблем не замечено. Зато существенный прирост в скорости очень даже хорошо ощущается.

Теперь, имея установленный Varnish Cache можно установить расширение для Magento, позволяющее создавать полностраничное кеширование.

четверг, 21 февраля 2013 г.

Семейство Samsung Galaxy

Samsung Galaxy Ace 2
GALAXY_SIII_mini
Купил сегодня два этих девайса. Себе Samsung Galaxy S3 Mini и дочке Samsung Galaxy Ace 2.

Почему я решил для себя взять именно эту модель, я уже писал пару дней назад.
Для дочки же искал модель не такую дорогую, но в результате, перебрав множество моделей, как от Самсунга, так и других производителей, решил что Galaxy Ace 2 оптимально соответствует по цене своим характеристикам.

среда, 20 февраля 2013 г.

Новый телефон

Нет нет, я его так до сих пор и не купил. Все жду, когда антиквары предложат достойную цену за этот раритет. Причем в рабочем состоянии, с двумя оригинальными стилусами и запасным аккумулятором. Ну разве что экран немного пошкрябан :-)

Казалось бы, совсем недавно я медитировал на его последователя. А, судя по дате поста прошло уже 3 года. Вот время то летит.

Даже помню, когда один из клиентов и просто хороший знакомый купил айфон первого поколения и притащил его мне, чтобы я научил его пользоваться им. Он уже тогда мне не понравился. Т.е. удобный фейс, приятная прохлада метала в ладони, но что-то было в нем не то.

Потом, спустя какое-то время появился Samsung Galaxy S, Android и мультитач. Приоритеты поменялись и я стал присматриваться к Самсунгу. Но пока присматривался, появились новости что вот-вот выйдет Galaxy S II и я подумал, что уже дождусь его. Потом он вышел, но мне не понравилась его цена и я решил подождать немного пока спадет ажиотаж и цена станет более демократичной.

История снова повторилась, когда появились новости о скором выходе Galaxy S III. Тогда я еще не знал, что это будет лопата величиной 4.8 дюйма. Когда я впервые подержал его в руке, я понял, что его я не хочу, несмотря на все его характеристики. И тут появились новости о выходе Galaxy S III Mini. Да, это тот самый телефон, который мне подойдет.

Как раз под размер моей ладони, пускай не такой мощный, как его старший брат, ну так я не собираюсь заменять комп телефоном. В конце концов, мои требования к смартфону не изменились даже 4 года спустя. Все что мне нужно от него, кроме возможности звонить и принимать звонки, это гуглочат, скайп, почта, броузер, калькулятор и телефонная книга. А ну да, еще GPS.

Я даже не повелся на новость о скором выходе промежуточной версии, между Galaxy S III и Galaxy S III Mini.

Вчера я даже почти купил его. Тем более что ажиотаж как раз прошел и цена снизилась на пару тысяч крон (ныне его можно купить в Праге за 6300 крон или 320 баксов). Зашел в магазин, покрутил его в руках, сказал беру и тут выяснилось что кредитки они не принимают. А до ближайшего банкомата две остановки на трамвае. Ну и, пока ездил до банкомата, решил повременить еще денек с покупкой. В конце концов, завтра есть еще день.

И вот вечером мне снова дали обухом по голове, прислав ссылку на новость о том, что в мае должен выйти Galaxy S IV.
Да ну что за ептваюмать?! Скажите мне, где купить Нокию 3610?

суббота, 10 марта 2012 г.

Как подключиться к MSSQL серверу из PHP. Новая ревизия.

Почти полтора года прошло с того момента, как я написал шпаргалку по установке драйвера PDO_DBLIB для подключения к удаленному MSSQL серверу из PHP.

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

понедельник, 19 сентября 2011 г.

Оптимизация PHP для работы с Magento

На наших серверах мы всегда настраиваем PHP как FastCGI. При этом используется стандартный для Apache 2.2 модуль mod_fcgid.

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

Оптимизировать будем в двух местах - в файле php.ini и параметры модуля mod_fcgid в файле конфигурации Apache.

воскресенье, 18 сентября 2011 г.

Установка Nginx на VPS (cPanel)

Продолжаю историю оптимизации серверов.

Одним из самых важных шагов в оптимизации сервера является установка и настройка более быстрого и менее ресурсоемкого вебсервера.
Наиболее популярны два таких вебсервера - Lighttpd и Nginx.
Исторически сложилось, что я отдал предпочтение второму, т.е. Nginx.

суббота, 17 сентября 2011 г.

Настройка APC кеширования на VPS

Несмотря на то, что Magento от версии к версии становится все менее требовательной к ресурсам сервера, для оптимизации ее работы очень желательно использовать "быстрый" серверный кеш.

Magento создана на базе Zend Framework и поддерживает 2-х уровневое кеширование, быстрый кеш (fast backend cache) и медленный кеш (slow backend cache). При этом, быстрый кеш может использовать практически любое из ныне популярных решений, таких как APC, Xcache, Memcache. Медленный же кеш может использовать файловую систему, либо базу данных.

среда, 31 августа 2011 г.

Создание виртуального сервера Amazon EC2

До сих пор я активно работал лишь с сервисами Amazon S3 и Amazon CloudFront в роли CDN. Для виртуализации серверов использовал сервис от Rackspace. А тут появился клиент, которому понадобился не только виртуальный сервер, да не в Америке, а в Европе, так еще и возможность стрессоустойчивости при помощи распределения нагрузки (Load Balancing). Поэтому решил, наконец, испытать и другие сервисы Амазона, такие как Amazon EC2 и Elastic Load Balancing.

среда, 30 марта 2011 г.

Оптимизация сервера и сайта

В последнее время пришлось довольно серьезно подучить матчасть в области оптимизации вебсервера.
Появился новый клиент, с довольно таки большим сайтом на Joomla.
Основных проблем было две:
1. При нагрузке в 300 одновременных заходах сервер не справлялся с нагрузкой и просто падал.
2. Даже когда сервер не падал, среднее время загрузки страницы составляло не менее 40 секунд.

вторник, 12 октября 2010 г.

Как подключиться к MSSQL серверу из PHP

У нас появилась задача - подключаться из Magento к удаленному MSSQL серверу и тянуть с него некие данные.
Так как Magento стоит на Linux сервере, это оказалось не такой уж простой задачкой.


Нужно было установить расширение, которое позволяло бы PHP подключаться к MSSQL.
Так как Magento основана на Zend Framework, родным для нее будет подключение при помощи PDO_DBLIB драйвера, который, разумеется никогда на Linux серверах по умолчанию не устанавливается.

Чтобы установить этот драйвер для начала нужно установить сам PDO модуль. С ним проблем не возникло и при помощи

pecl install pdo
он успешно установился.

А вот
pecl install pdo_dblib
начал ругаться.

Сначала на то что он не может запустить компилятор.

Решил эту проблему радикально:

mount -o remount,exec,suid /tmp
mount -o remount,exec,suid /var/tmp

На этом он не успокоился и стал требовать чтобы был установлен пакет FreeTDS

С ним прошло все более ли менее гладко и встал он куда ему и указали.

Очередная попытка установить pdo_dblib снова не увенчалась успехом, конфигурационный файл ни в какую не хотел видеть где установлен FreeTDS, даже когда ему прописывали путь в ключе.

Помогло это:
touch {path}/freetds/include/tds.h
touch {path}/freetds/lib/libtds.a

Теперь снова нашлась причина чтобы не установиться. Видите ли ему версия PDO не нравится.

Решилось просто:

pecl install -n pdo_dblib
т.е. с игнорированием зависимости от версии PDO.

Только после этого этот несчастный драйвер позволил себя сконфигурировать и установить.

Танцы с бубном продолжались не менее 4 часов. Подопытный сервер практически не пострадал, за исключением того, что в процессе пришлось перекомпилировать apache+php чтобы убить "родную" поддержку PDO, с которой PDO_DBLIB ни в какую не хотел дружить и в последствии установить PDO через Pecl. После перекомпиляции apache нужно заново переконфигурировать Nginx. Но это уже мелочи жизни :-)

Апдейт: Данная шпаргалка действительна для PHP 5.2.x. Для PHP 5.3.x. есть новая шпаргалка, там процесс настройки сильно отличается.

понедельник, 27 сентября 2010 г.

Восстановление большой базы данных MySQL из дампа

На днях нужно было локально, в Windows, запустить рабочую копию сайта клиента. После всех чисток, объем базы данных составлял "всего" 1.5 гига.
Так как локально стоит Wamp, из доступных средств для заливки sql дампа такого размера был только phpmyadmin. Тот же EMS MySQL Manager даже слышать не хотел ничего о том чтобы открыть 1.5 гиговый скрипт.

вторник, 13 апреля 2010 г.

В поисках 503 ошибки

Пара клиентов часто жалуются на 503 ошибку (service unavailable) при заходе на свои сайты.
Поверхностное изучение показало что ошибка может быть из-за того что с одного IP было слишком много соединений.
В принципе, так как на сервере стоит Nginx, то в теории может такое быть, так как все запросы Apache поступают от него с одним и тем же IP.

Копнув глубже понял, что nginx тут не причем.
В конце концов дождался момента когда в очередной раз стала появляться ошибка 503 и полез смотреть error_log апача. И вот что там было:

Request exceeded the limit of 10 internal redirects due to probable configuration
error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.

Т.е. проблема то не столько в сервере, сколько в скриптах которые эти клиенты гоняют у себя.
Но ведь главное то было волну нагнать, заставить меня перелопачивать гугль и кропотливо изучать логи сервера.