Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

kikasso

Користувачі
  
  • Публікації

    163
  • З нами

  • Відвідування

Усі публікації користувача kikasso

  1. Постановка задачи: оптимизировать клиентскую часть, для сайта с несколькими сотнями товаров, с использованием мультиязычности и SEO (генерация страницы не более 0,2с). В качестве пациента для экспериментов был взят OpenCart 1.5.5.1 с дефолтной базой. Для поиска узких мест начнём с профилирования, анализируем результаты загрузки главной страницы (в листинге и карточке товара получаются аналогичные результаты): Как и ожидалось, почти половину времени тратиться на запросы к БД, вот и займемся этой частью, не будем экономить на спичках. Простеньким скриптом собираем массив с данными выполнения запросов для анализа (ключами являются методы функций из которых делался запрос к БД, значениями кол-во таких запросов). Видим, что точек вызова не так уж много - 15, но это не одинаковые запросы, для большинства повторений SQL код разный. Править php код и SQL запросы, заниматься денормализацией БД не интересно, хочется более кастомного и простого решения с использованием кэша. Основная проблема при его использовании - инвалидация, так: по времени - сайт будет тормозить в момент обновления кэша по событию - много правок в коде надо делать, не подходит... зависимости? - легче движок переписать :) Попробуем схитрить, записи в хэш таблице обновлять порциями не более N штук, по факту просмотра страницы, тем самым рассредоточив нагрузку. Время жизни тоже можно сделать разным, для разных типов данных (классифицируем по имени метода функции). Хочется еще сократить кол-во запросов при обращение к кэшу, тэгирование излишне для нашей задачи, будем просто объединять в группы. Например: настройки, курсы валют, единицы измерения - то что от страницы к странице одинаково грузить пачкой, товары будут браться из кэша отдельно. Приступаем к реализации идеи, кэш будем хранить в БД, для возможности реализации "хитростей", файлы не подойдут. Хэш таблица не станет узким местом, запросы по уникальному ключу будут быстрые, главное их кол-во сократить к минимуму. Дальше кодим и получаем вот такой результат (время/количество запросов): Может еще можно что то глобально ускорить? повторный профайл: запросы к БД уступили лавру первенства, теперь нет особо нагруженных частей... закончили. Результат устраивает, довольно потираем руки :). Выводы: Данное решение позволяет в 4-7 раз увеличить производительность сайта! Можно ещё экспериментировать с настройкой групп, времени жизни и размером порций обновления кэша (N). Файлы выкладываю на gist. Приветствуется конструктивная критика, пожелания и замечания. Полезные ссылки по теме: - клиентская оптимизация OpenCart - Отладчик для OpenCart - профилирование PHP кода - Кеширование на клиенте и на сервере (ШРИ в Москве 2012) Желаю всем быстрых сайтов!
  2. суть заключается в обходе ограничения кол-ва, одновременных загрузок браузером с одного хоста (браузеры именно на них ориентируются а не на IP). Результат хорошо виден на скринах. Такой подход используют многие популярные интернет магазины http://www.ozon.ru/ http://rozetka.com.ua/
  3. В моём варианте предложен вариант использования Apache + Nginx. Ngnix ,берёт на себя всю статику и её кэширование, статика до апачи не доходит, так что речи о кеше в htaccess не может быть. Напишите свой результат оптимизации, тогда будет предметный разговор, а так воздух сотрясаете! Клевета, озлобленность это удел слабых людей и трусов!
  4. Поиск, есть на главной и страницах карточки товаров, в листинге его место занимают "хлебные крошки", так было задумано вначале. В аналитике отслеживается использование внутреннего поиска по сайту и если отобрать этих пользователей то их коэффициент конверсий составляет 2% без одной сотой - это более чем в два раза больше среднего значения по сайту, что говорит о рентабельности инвестирования средств в улучшение поиска. Спасибо за наводку! Фильтры, тоже присутствую для категорий в которых определены атрибуты http://avtopride.zp.ua/amortizator Пишите не по теме! Вам ребята учиться надо, а не огрызаться и офтопить!
  5. Я читал правила форума перед размещением реферальной ссылки, она не является рекламой и в правилах не запрещена, как и не запрещено писать как кто то умеет делать сайты:) О моей компетенции, говорит моё портфолио!
  6. Объективно оценить результаты проделанной работы вы сможете в отчете Google Analytics "Скорость загрузки сайта" с разбивкой по браузерам, странам и страницам
  7. Разница между посещением корзины и подтвержденным заказом очень большая! Коэф. конверсий это основная метрика в электронной торговле, которой уделяют больше всего внимания. Любое вложение денег и времени в сайт должно быть измерено. "отмена и аннулирование" не учитываются в конверсии продаж, это уже недостатки общения, товара или дезинформации... 0 руб. это хорошо, но непонятен результат )
  8. Тормозит сайт? начать стоит с проверки производительности серверной части, для этого в файл index.php добавим две строчки одну в начало файла: $sysstart = microtime(true); и одну в конец echo '<!--time_gen- '.round(( microtime(true) - $sysstart), 5). 's -/time_gen-->'; В результате просматривая HTML код любой страницы сайта вы будете видеть время выполнения скрипта: Хорошо если полученное время измеряется в сотых, если в десятых тоже пойдёт, но не более 0.3, если больше начать оптимизацию надо с серверной части. Вся суть клиентской оптимизации сводится к уменьшению объема загружаемых данных и количества запросов, делаемых к серверу. И так руководство к действию и результаты измерений (кол-во запросов/ объем загружаемых данных/ время загрузки страницы): 0. Начальный замер производительности на Apache без Gzip (34/496,6/1.4) 1. Использование Apache + Nginx для отдачи статики 2. Использование Gzip сжатия (34/216,2/1.18) 3. jQuery и jQuery UI грузим с CDN , например, Google или с официального сайта jQuery (25/164,3/1.05) 4. Изображения используемые в шаблоне, объединяем в спрайт (23/ 164,3 /0.92) 5. Объединение и минимизация JS скриптов и CSS 6. Загрузку изображений можно разбить на различные субдомены (тем самым обходим ограничение одновременных загрузок для одного хоста у браузеров) (18/129,2/0.8) Обратите внимание на временную линию загрузки изображений, теперь в диаграмме отсутствует серый цвет, который означает блокирование (ожидание) выполнения запроса, из-за ограничения числа одновременных подключений в браузере. 7. Перемещение JS файлов в конец страницы (перед закрывающим ), не забываем что необходимо будет весь JS код в тексте страницы вынести в отдельный файл и грузить после jQuery, иначе работать не будет. Это ускоряет отображение страницы, т.к. рендеринг страницы блокируется на время загрузки и выполнения скрипта. Если всё правильно сделаете в диаграмме должна исчезнуть ступенька, которая наблюдается на скринах выше после .js файлов Эксперимент проводился над OpenCart 1.5.5.1 используемые инструменты Firefox + FireBug, на локальной машине Denwer, хостинг - ukraine.com.ua [← осторожно реферальная обычная ссылка]). Для базовой клиентской оптимизации достаточно правильно выбрать хостера или настроит сервер + без особых трудозатрат можно выполнить пункт 3. Можно безболезненно отключить jQuery UI, если не используются специальные поля в атрибутах товаров. Правки в п. 4, 5, 7 будут зависеть от используемого шаблона и дополнений. Подробнее остановлюсь на реализации п.6: - нужно внести изменения в файл \catalog\model\tool\image.php (прикрепляю к топику), смысл заключается в изменении хоста загрузки изображений, добавляется поддомен с индексом (i, i1, i2, i3, ....), индекс увеличивается после вывода 6 изображений - на сервере настроить переадресацию с несуществующих доменов на основной (на хостинге ukraine [← осторожно реферальная обычная ссылка] это делается установкой одной галочки) Выводы: Для тех у кого состояние сайт соответствует п.0 есть потенциал для двойного увеличения производительности клиентской части, если сервер настроен согласно п.2 можно говорить об 1/3. И надо понимать что клиентской оптимизацией стоит заниматься, когда уже бизнес настроен, есть конкуренция и желание выделиться. На начальном этапе это будут неоправданные трудозтраты. P.S. кто проделает работу по оптимизации, делитесь результатами image.zip
  9. Покупателей или покупок? Посетителей или уникальных посещений? Сравнивать можно, но без других метрик, понимания кто круче не будет. Включаем для сайта тизерную рекламу и коэффициент конверсии продаж тает - по факту ничего с продажами не изменилось или наоборот, есть практики корреляции трафика с поисковых систем, когда кол-во переходов уменьшается, а коэффициент слегка возрастает, при этом продажи слега падают. А вы говорите тема не холиварная :)
  10. Ссылки не кто не отменял, бесспорно они эффективны для продвижения, особенно если доноров выбирать вручную со знанием дела! Я знаю примеры сайтов без большой ссылочной массы (естественной), выдающихся в топе и конкурентов, изрядно потратившихся на ссылки, которые глотают пыль позади. Я считаю инвестиции в постоянное улучшение сайта, юзабилити и контент более важными, а маркетинг вообще на первое место ставлю... но это уже совсем не по теме. Цену привлеченного клиента тяжело расчитать при поисковом продивижении, затраты не линейны и результат инерционен по времени. А вот для контекстной рекламы это будет основной показатель, сравнивая который с конверсией и суммой среднего чека, можно будет судить об эффективности компании!
  11. Встроенный загрузчик фоток не удобен, много кликов приходится делать)) Хотелось бы узнать у опытных пользователей, кто и какие решения использует для данной задачи? как фото раскладываете, как загружаете? Можно в тему писать и конкретные пожелания по реализации, проблемы с которыми сталкиваетесь при работе с фото. Идея топика найти юзабильное решение или хотя бы составить список пунктов :), я ничего подходящего не нашел, если пропустил бросьте ссылку.
  12. Вообще тема "коэффициент конверсий в электронной коммерции" - холиварная, многое зависит от того как считать и что считать. Это субьективный показатель!
  13. спасибо, подобного рода, я встречал информацию, меня как и любой другой пытливый ум интересует откуда цифры, на основании каких данных, как рассчитывается..., многие понимают сложность получения данной информации. Такую статистику надо сильно "фильтровать" :) одно авторитетное утверждение для себя встретил на его блоге
  14. Для сравнения делюсь, аналогичными данными за тот же период с информацией по успешным заказам. Настройка "параметров интернет магазина" в аналитике, даст возможность рассматривать величину конверсий сегментируя пользователей по источнику трафика, по локациям, поисковым фразам и многое другое... Думаю многие знакомы с вебизатором в Яндекс Метрике, так вот, отфильтровав посетителей по параметру "Достигшие целей Подтверждение заказа", вы сможите смотреть "кино" о том через что прошел пользователь на вашем сайде перед тем как сделать покупку :)
  15. Вы ссылку забыли указать на ресурс к которому относятся эти картинки. А почему вы не отслеживаете подтверждение заказа? на скрине показана только посещаемость корзины... Если у вас на сайте по клику на кнопку купить идёт переход в корзину, тогда процент конверсий о которых можно судить - ничтожен.
  16. @rb2 если можно, пожалуйста, поделись ссылкой на данные по среднему значению коэффициента конверсий в эл. торговле, а то я не встречал такой статистики
  17. Согласен с важность коэффициента конверсий в электронной торговле, но его обязательно надо рассматривать в контексте общей картины: сегмента рынка, размера среднего чека покупателя, количества заказов по телефону, которые, к сожалению, никак не фиксируются в аналитике и пр. Если у кого то этот показатель больше или меньше - это однозначно не значит что он успешнее или нет. Коэф. конверсий показатель довольно индивидуальный, но для владельца в любом случае его рост, это рост толщины кошелька!
  18. однозначно адаптивная верстка, или отдельная мобильная версия если полная имеет сложную структуру с навороченными фильтрами и посадочными страницами...
  19. Делиться личным опытом или кодом считаю полезным и то что это верный способ найти клиентов, тоже знаю. Вы считаете что все написанное в топике элементарные вещи и все так делают? Ваш тролинг говорит об обратном, "ничего стоящего" так не цепляет:)
  20. авантюрная у вас идея:) это немножко не честно по отношению к пользователю, сначала брать деньги - а потом спрашивать адрес, думаю тут без подводных камней не обойдётся. А на счет приложений под Андроид в маркете я встречал и витрины для магазинов и помощники для администраторов, правда пока ничего не тестил...
  21. Согласен, просто сейчас код пишется на коленке под нужды, думаю еще добавить профилирование Ajax запросов через FireBug и информацию по использованию кэша. Спасибо за помощь в отладке!
  22. петушитесь как раз вы господа, лучше бы вместо того чтоб камни кидать в мой топик написали что нибудь стоящее, может у вас есть история успешного продвижения? было бы интересно почитать и увидеть результат!

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.