Opencart VS Bitrix

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

В обоих случаях это были магазины овер 100 000 товаров.
А в одном еще и 95 000 категорий.

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

Основная проблема — это произодительность системы, и где-то они взяли миф, что битрикс бля быстрый.

Я погуглил немного, все более вменяемые решения на битриксе, которые выглядят как шаблон + установленная система — это сто тыщ рублей. За сто тысяч рублей,я знаю пять специалистов, которые сделают шикарный магазин на опенкарт с таким функционалом, который на битриксе будет стоить раз в пять дороже.

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

Ну и непосредственно производительность….

В последних версиях битрикса, они выдумали супер систему кеширования, которая абсолютно все блоки магазина валит в кеш. То что без кеша все ели ползает — про это все молчат. Зато с кешем же быстро. Вот так и пошел миф, что битрикс стал быстрый.

Я знаю немного изнутри историю украинского 27.ua(это онлайн проект строй-гипермаркетов эпицентр), в которой положили не один миллион долларов и полгода не могли дать ему ладу, реально страницы грузились по 10-15 секунд, не знаю чем закончилось, нашли видимо специалистов  — сейчас стало получше. Но я даже себе боюсь представить бюджет, который они отдали за оптимизацию.

Но это все лирические отступления. На самом деле — нет разницы что битрикс, что опенкарт, что magento. Технологически все эти проекты принципиально ничем друг от друга не отличаются. Везде php+mysql. И если при нынешних мощностях серверных процессоров с временем обработки данных полученных из базы средствами интерпретатора php — вопросов нет и это очень быстро. То вот mysql  — это ахиллесова пята всех систем. Mysql  — это реляционная база данных, корни которой ведут глубоко глубоко к dbase и foxpro. Реляционные базы данных отлично подходят для хранения и обработки типизированных наборов данных. Т.е. когда у нас есть таблицы-справочники и таблицы с набором айдишник-значение — вопросов нет. Можно обрабатывать и обслуживать очень большие проекты. Но структура магазина подразумевает не типизированные наборы данных, как то значения атрибутов, теги, описания товаров etc… Я думаю все вы слышали такое понятие как BigData. Вот BigData и mysql  — это как на жигулях возить вагон угля. Прогресс в IT не стоит на месте, и давно придуманы noSQL хранилища, у которых совершенно иной принцип организации и хранения данных. Так как большого распространения в массы технологии не получили так как требуют несколько большего скила, чем залить на фтп скрипт движка и ввести логин пароль базы. Разработчики движков естественно ориентируются на максимально возможный охват аудитории, поэтому по прежнему продолжают использовать mysql, и в этом ничего плохого нет, так как на магазинах в 10-15-20 000 товаров, она на ура справляется со всеми задачами. Но когда вопрос становиться о большом проекте от 100 000 товаров, с большим трафиком. То тут уже ну никак дело не в платформе. Везде там, где есть mysql, будет тупняк. Везде, где отсутствует кеширование повторяющихся запросов и элементов структуры проекта — будет тупняк. Везде где есть тугие запросы — будет тупняк.

Оптимизацией магазинов, я занимаюсь уже больше четырех лет. Я однозначно могу сказать — писать запросы mysql  — это искусство. Но в какой то момент, как ты не оптимизируй запросы, как не приводи в порядок структуры базы, как ты не кешируй все и вся, наступает предел возможности технологии.

Ну вот очень простой пример. Есть таблица с атрибутами на 1 миллион записей, для того чтобы нам найти все товары у которых есть значения атрибута цвет красный, системе надо просканировать всю таблицу. Весь 1 миллион строк. Вы скажете — почему нельзя использовать индексы? А нельзя, потому что у нас в таблице тип поля — text. А на него можно повесить только индекс full-text и потом обрабатывать данные через match against. Да да, вы сейчас скажите — что это же отличная идея и где то про такое читали. Но full-text индекс работает только по вхождениям больше 3 символов. И поиск по набору данных будет находить как красный  так и светло-красный или темно-красный. Вобщем это совершенно не вариант и не выход. Единственный выход в даном случае — это подключать дополнительный сервис обработки информации, который заточен для работы с подобными наборами данных. Не важно это будет Сфинкс, Эластик или та же монго. Реализовать подобный механизм просто и быстро, возможно только при помощи стороннего сервиса, заточенного под полнотекстовую обработку данных. Я специально не пишу полнотекстовый поиск. Так как поиск в данном контексте — это лишь один из возможных вариантов использования технологии, для оптимизации работы проекта в целом. Пару месяцев назад я рассказывал про реализацию Sphinx-фильтра. Также, просто обработка выборки товаров по категориям, источником данных для которых служит sphinx а не mysql — ну это просто земля и неба.

И вот все это я к чему. Чуваки, поймите, так исторически сложилось, что все платформы магазинов используют не самую лучшую, но самую доступную и массовую связку технологий. Так исторически сложилось, что нельзя просто взять и взять. Ну там типа купить сервер, проставить индексы, кеширующий модуль и все полетит. На любой платформе, буть то битрикс, преста или опенкарт, большой проект необходимо долго и дорого настраивать, чтобы он стабильно работал. Бесплатный сыр — сами знаете где.

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

Вобщем, всем быстрых магазинов и тонны трафика!

Хуйнаныр(28)Очко(0)

Как я заебался!

kinopoisk.ru

Я даже не заебался…
Я как три таких вот гориллы!
Но у нас получилось!
По моему мы опенкартфоруму не только сердце и легкие поменяли, но еще и большой писюн!

Подробности позже… хочется спать, яблочко и кока-колы!

Хуйнаныр(54)Очко(0)

Нюансы или в чем разница между octore, опенкартраша и opencart.pro

ay_nraiza

Есть такой анекдот:

Петька подходит к Чапаеву и просит: «Василий Иванович, объясните, что
такое «нюанс»?
Ч: Снимай портки и загибайся!
П: Зачем???
Ч: Надо!
Петька загибается, Чапаев ему присовывает и говорит:
«Вот, смотри, Петька — у тебя х@й в жопе и у меня х@й в жопе. Но есть
НЮАНС!!!

 

Вот мне часто задают вопрос про то, чем наша сборка Opencart.pro отличается от подобных. Я  лично для себя знаю, потому что  изначально все пилилось под свои магазины.  И даже не столько под магазины, сколько под фабрику магазинов. В какой то момент мы получили бесценный опыт. Суть в том, что один магазин запускать нельзя. Есть принцип — «Хуй его знает». Мы всегда делали 2-3-4-5 клонов с одинаковыми ценами, товарами, только разного цвета и на разных доменах.  И вот из трех одинаковых, взлетал один, а почему так происходит, ответ до сих пор один — ХУЙ ЕГО ЗНАЕТ. Мы экспериментировали с тематиками и нишами, разворачивать за месяц приходилось 5-10 проектов. Так как их заебывало собирать с 0, появилась сборка Ocshop, которая потом трансформировалась в полноценный проект Opencart.pro.

И знаете, вот уже прошло года полтора как мы это все запустили в плавание. Так приятно, когда у людей взлетело и они говорят «Ай нраица».

Читать далее

Хуйнаныр(42)Очко(4)

Небольшой дайджест

digest

1. Большие магазины. Как это может быть…

За последние пару месяцев проскочили несколько интересных проектов.

Были настроены сразу три проекта, за которые не стыдно.

avto24.com.ua

500 000 товаров и до 2м на вырост

vse-footbolki.ru

250 000 товаров

profit77.ru

270 000 товаров

На всех проектах прикручен сфинкс для поиска, а на последних двух еще и стоит допиленный Mega Filter Pro, который без внутренней индексации отлично справляется с 50 000 товаров в категории.

Два года назад — я бы сказал, что такое невозможно. Сейчас полмиллиона товаров на Opencart — это просто. А тут живые рабочие проекты, готовы держать до 50-100 одновременных онлайн подключений в пик. Как говорил Борат, мне самому приятный.

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

Несмотря на это, пришлось пойти на ряд ограничений и отказаться от нескольких шаблонов, ибо «пряморукость» шаблонопейсателей в последнее время скажем честно не радует.

2. SSL сертификаты, opencart и ISP manager 4

Гугл откровенно переполошил все сообщество с пессимизацией с нового года несекьюрных проектов. За три дня 10 человек постучали в скайп с вопросами по HTTPS.

Что я могу вам на это сказать. Да это данность. Да на https надо переезжать. И да при переезде будет просадка в выдаче в Яндексе. Временная. У одних уважаемых мною товарищей, просадка была на 4 месяца. Но все вернулось на круги своя.

Я думаю что мы придумаем некую универсальную услугу по переходу на SSL.
У господина savage4pro уже есть наработки по внедрению бесплатных сертификатов Let’s encrypt на VPS-серверах, с ISP 4. Также мы знаем как сделать остальные настройки, чтобы переход оказался максимальное безболезненный. По всем вопросам пишите в комментариях.

3. Opencart Pro 2.3

Мы ждали и надеялись, что будет 3.0 — но видимо это таки долгий ящик. Поэтому было решено делать релиз 2.3 — в ближайшие пару недель будет готово. Ждите.

Хуйнаныр(7)Очко(0)

Что делать если не отправляется почта из opencart 2.x через smtp mail.ru ?

bizuha

Обратился тут один из наших форумчан.
Мол не могу, что делать спасите. При отправке через SMTP мыл ру, не идет почта.

Лезет ошибка

EHLO not accepted from server! mail ru

Эта проблема решается элементарно Ватсон.

Нужно использовать в настройках почты адрес сервера с ssl.
Делается таким образом:

mailry

Все.. Почта пошла.

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

Правиться тоже очень просто. Открываем  \catalog\controller\information\contact.php.

находим

и меняем на

Все…
Почта пошла.

p.s. А ваще люблю упорных дата создания темы Опубликовано:  .
Не прошло и полгода.

Не благодарите.

Читать далее

Хуйнаныр(8)Очко(2)

Переезжаете на 2,0… А картиночки в поиске тютю!

Bnu74GvbRc8

Ни одного сайта не видел, чтобы сохранили старые ссылки на изображения при переезде. А бывает с них до 20% трафика валит. И привет ПРОСАДКА В ПОИСКЕ!

А чтобы такого не было — достаточно сохранить в настройках старые размеры и в .htaccess Добавить маленький редирект!

Не благодарите

Хуйнаныр(17)Очко(0)

Как бороться с атаками на магазин ?

pidar

Устал я порядком от талантливых вьюношей которые стремятся сломать все и вся. А также от героев, которые заливают шеллы, чтобы не дай бог с ними рассчитались!

 

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

В итоге кроме чистки кода, отключения метода upload  в контроллере product.php, оптимизации сервера и системы и резервирования запаса производительности на 500%, я еще удалил с сервера phpmyadmin, запретил обращения к любым типам архивов, напихал во все критичные папки .htaccess  с запретом на исполнение.

В итоге атаки потихоньку утихли. Но такого, я раньше не видел, чтобы народ еще и предлагал купить владельцу магазина его же базу.

С одной стороны — я на 99% процентов подозреваю, что виновник этой ситуации кое кто из известных в узких кругах разработчиков. С другой стороны. С  этим пора что то делать.

В голове зреет идея некой поделки.
1. Надо проверять появление всех новых файлов и вести раз в день журнал со срезами списка файлов.

2. Проверять листинги кода на присутствие EVAL, BASE64, GZIP, GLOBAL и прямого использования кодировки UTF.

3. Проверять наличие в папках cache, upload, image люых исполняемых файлов, а также просматривать наличие всякого хлама вида lic.php, sys.php  и так далее…

4. Чекать системные настройки, время выполнения, таймауты mysql и так далее.

5. Проверять всякие feofan, корефан и остальные упырские варезы.

6. Переименовывать файл лога. Проверять чтобы отключено было отображение а еще лучше и запись ошибок.

7. Проверять присутсвие JSON  в сборке php.

8. Подсчитывать суммарное обращение с каждого айпи — блокировать доступ при превышении определенного лимита.

9. Блокировать все айпи, с которых была попытка POST-запроса в product/upload

Еще идеи есть ?

Хуйнаныр(3)Очко(0)

Opencart 2.3 beta. Рассматриваем внимательно (для Марка )

cherez-lupu (1)

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

framework (сюда вынесена логика из index.php отвечающая за сборку ядра движка).

/system/framework.php

Настройки, преэкшны и ивенты  подхватываются из system/config/default.php

Для чего там /system/config/catalog.php

Я пока не понял

translation — тоже до конца не ясно зачем введен класс. Не разбирался.

divido Что за зверь.

5.4  и сессии + namespace

extension + туда же перенесли шаблоны

Менеджер событий УРА УРА

Уведомление на почту при появлении комментария. Давно пора!

Время жизни кеша

System config файловый / разные конфиги для разных точек входа

html возможно был в 2.2

GZIP NEED!

autoload if in config

 

Хуйнаныр(2)Очко(0)

Дамы и господа, позвольте вам представить Opencart Turbo

bmw

Мы писали мы писали, наши пальчики устали.

Турбо для 2.х сегодня наконец родился и начал дышать полной грудью.

На самом деле Турбо — это результат двух лет работы и исследования методов оптимизации магазина. Он вобрал в себя все лучшее что можно было придумать и реализовать в «коробке», понятное дело, что всех нюансов не предусмотришь, но пожалуй на сегодня — это лучший модуль, для ускорения магазинов на 2.x

Знаете, тут стоило бы написать что он мультихуюльти заебись со всем совместимый. Но я вам скажу проще, вы же мне доверяете ?

ТУРБО — ЭТО ЗАЕБИСЬ!

Есть две новости.

Одна плохая — модуль кодированый ионкубом, потому что мы заебались на феофанах обнаруживать наши дополнения. Вторая хорошая. В следующем релизе он войдет в сборку Opencart.pro и все кто ранее купили лицензии, получат лицензионный ключ совершенно бесплатно, как и на все остальные дополнения, которые будут кодированными в сборке….
ВСЕ КТО КУПИЛ ЛИЦЕНЗИИ РАНЕЕ… БУДУТ ПОЛУЧАТЬ ВЕСЬ НОВЫЙ ФУНКЦИОНАЛ БЕСПЛАТНО!!!!

Демо здесь: turbo.opencart.pro

Хуйнаныр(0)Очко(0)