AddThis Smart Layers

четверг, 5 сентября 2013 г.

Шпаргалка по .htaccess

Один из наших клиентов недавно мигрировал с платформы LiveCity на Magento.
Сайт довольно большой, с тысячами товаров, сотнями категорий и множеством страниц контента.
При этом, сайт довольно популярный и хорошо проиндексирован Гуглом. Совсем не хочется клиенту терять позиции в результатах выдачи Гугла.

В Magento существует довольно продвинутый и удобный механизм URL Rewrite Management, позволяющий быстро создавать кастомные редиректы.
Все бы ничего, но проблема в том, что на старой платформе не было возможности создавать редиректы, когда пользователь заходил на сайт без www, чтобы система могла автоматически перенаправлять на адрес с www.
В результате со временем образовалось какое-то дикое количество дублирующихся ссылок.
Но даже это не было бы такой уж страшной проблемой, если бы Magento была настолько "тупой" системой и позволяла бы все также заходить на те или иные страницы с www и без него.

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

Пришлось помучать немного .htaccess

воскресенье, 28 июля 2013 г.

Samsung Galaxy S4 Mini

Вчера смотрел на это чудо техники.
В размерах слегка увеличился по сравнению с Galaxy S3 Mini (4.3" против 4"). Пишут что и по техническим параметрам и другим фичам он не сравнится с предыдущим поколением.
Вот прям все замечательно. Кроме одного - цены. 11.5т крон (2100 шекелей). В то время как S3 стоит 6.5т (1100 шек).

На секундочку представил себя Антоном Носиком телефонным гиком и подумал, а что если купить его?
Но уже в следующую секунду шальная мысль исчезла в небытие. А на фига?
Я свой S3 то использую, наверное, от силы на 30% возможностей, так зачем мне его менять?
Кроме того, а куда девать старый телефон, которому даже полугода еще нет? Новый такой сегодня стоит ровно столько же, сколько стоил полгода назад. Выставлять его на какую-нибудь доску объявлений и продавать за полцены, с тем чтобы добавить еще 7-8 тысяч и купить модель поновее? На мой взгляд извращение какие-то.

Вывод: если нынешний мой телефон не сломается/не потеряется/не украдут то в ближайшие пару лет менять его не имеет смысла. Ну разве что батарейку поменять. А к тому времени выйдет уже S6 или даже S7.

четверг, 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. есть новая шпаргалка, там процесс настройки сильно отличается.