Убить их всех на хуй!!!

Как я и предполагал. Зловред сука оказался зловредным.

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

Также напоминаю, что проект у нас живет на гавно-спейс-вебе, на самом дешман хостинге и никакие ip-tables и нативные nginx-файрволы нам недоступны.

Поэтому за неимением дворника ебем горнишную.

Делаем вот такой типа firewall в догонку ко всему предыдущему коду и подключаем его в index перед $registry->set(‘db’, $db);

Честно говоря, я очень этим не доволен. Это сделано на коленке. По хорошему надо переделать сделать отдельное подключение к mysql а не после инициализации половины движка. А еще лучше использовать memcache.  А еще написать стучалку администратору магазина о блокировке айпишника — чтобы случайно ничего левого не залочить. А еще неплохо было бы сделать подсчет хитов за день и блокировку по рейтам за несколько периодов. А не только за последний час.

Это быстрое промежуточное ленивое решение по принципу за неимением дворника — ебем горнишную.

 

Upd — не сдержался я, дописал немного ловкушку.
Сделал отлов за короткий период — типа более 10 запросов с одного айпи за последние 20 секунд. Добавил в robots сrawl-delay: 3, чтобы не схлопнуть че лишнего, хотя ботов мы пропускаем. (для ботов кстати есть очень кошерные методы проверки — читаем гугл доки).

А также сделал проверку на ajax, чтобы юзвери не понакручивали сами себе блокировок.

Отключив фильтр по странам, за 10 минут поймалась вот такая рыба:

117.78.42.55
121.31.103.73
213.37.198.221
217.21.36.113
35.198.129.156
35.198.136.218
35.198.66.59
35.198.97.121
46.188.58.197
46.242.73.182
52.24.10.243

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

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

Убей убей их всех!

В продолжение истории борьбы с непонятным трафиком.

Блокировки азиатских стран хватило на сутки.
Зловреды поменял пул проксей и сегодня прилетеле еще более дикий траф с Европы и Америки.

fuckin_fuck

Пока я спал, владельцы самостоятельно заблокировали все страны кроме РФ по айпи — но это несколько неправильно. Так как список постоянно обновляется и все таки лучше рассчитывать на MaxMind а не на непонятные подсказки с Toster.ru, во вторых боты могут стучаться откуда угодно и их надо пропускать.

Пришлось переделать конструкцию:

Дальше, если придет опять нагрузка — ее надо уже будет мониторить вручную, и блочить айпи руками, если пойдет нагрузка из рф. Зловред может подделать заголовки USER-AGENT и притвориться ботом. за этим тоже надо следить, но тут одного маленького стука в гугл хватит для прикрытия лавочки.  Ну и реально мудачье в space-web могли бы почесать хоть немного жопу и написать маломальские анализаторы ддоса.

И еще, если вы соберетесь проворачивать подобные ситуации на своих магазинах. Обязательно проверяйте результат через host-tracker и смотрите ответы через «посмотреть как гугл-бот, посмотреть как яндекс-бот», потому что можно одним взмахом пера закрыть полностью индексацию.

UPD.

Тут господин Soor навел меня на мысли вопросом откуда они берутся. Мы  же не одни такие, людей страдает много, поэтому гуглим зловред-айпишники, с которых больше всего запросов…
Находим их в спам базе https://stopforumspam.com/ и блокируем как то так:

 

UPD2. Рано или поздно зловреды отьебуться. И тогда надо будет снимать всю эту трахомундию и приглядывать за нагрузкой. Снимать надо — потому что opensource max-mind база данных — не полная и можно залочить случайно приличный кусок трафика. А полная и актуальная стоит денег.

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

Убей, убей, убей. Убей КИТАЙЦА И ИНДУСА!

Пост не о разжигании межрассовых войн ни в коем случае, а как ни странно, про спасение нагрузки на магазин.

Обратились на днях владельцы магазина с проблемой: трафика 100 человек в сутки, а нагрузка запредельная. Хостинг как обычно, вместо того чтобы разбираться, собирается все заблокировать, бизнес в опасности, нагрузка на базу дикая, турбокеш не спасает.  Магазин тупит. Вобщем беда.

Покопавшись в потрохах проекта, каких то аномалий я не нашел. По мелочи: тупил сайтмап, большие картинки, пару длинных запросов, кое-что поправить в роботс. Но сохранялась дикая интрига: трафика нет. А нагрузка есть. Лезем в логи и видим, вагон и маленькую тележку запросов на /admin. Становиться теплее. Смотрим в AWSTAT статистику посещений и…. БИНГО.

country_shit

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

Пишем 5 строк кода, добавляем в index.php в самое начало и убиваем всю эту шокирующую Азию.

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

И все… Враг повержен.

daybyday

 

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

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

Вот это seo-специалист!!!

omgomg

Просто оставлю это здесь.

В двух словах: автор этого текста за полтора года высосал из моего знакомого 3к долларов за какие то «супер услуги» в итоге загнал магазины под плинтус.  Ну и кроме этого по мелочи на одном мы выловили онлайн-майнер Monero.

Зовут персонажа Виталий Угольников — вобщем остерегайтесь!

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

php fpm + nginx vs apache + nginx

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

phpfpm

Слева — виртуалхост работает через nginx + php fpm, справа: nginx + apache.

35 миллисекунд разница. От 500 мс общей загрузки — это 7%.
А если у вас секунда ttfb — то это  3%, что будет в рамках статистическое погрешности.

Да — это стабильней. Да меньшее потребление памяти.
Но, в подавляющей массе серверов, которые я вижу, едва ли используется 10% процессорной мощности и 20% памяти.

За что бороться? За то что бы для любого редиректа звать волосатого админа?

Я понимаю, где можно повоевать. Бывают ситуации, когда время отклика 200 мс, и 35 мс — это уже не 5% а 17,5 — и это существенно.

Но в массе, даже не пытайтесь. Это экономия на спичках.

И еще вы спросите — почему 500 мс, почему не очень быстро?
— Да потому что проект в работе и все тюнячки еще ему не прикрутили.
А еще там php 5.3 + xCache, гавносервер от ukraine.com.ua на железе, подобранном на европейской свалке, древняя убунта и ноль желания обновлять серверное окружение.

 

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

Синдром пургена

purgen-01

Не могу я с вами не поделиться одним интересным наблюдением.

Как-то в последнее время у всех вокруг стало много странных персонажей обращающихся за услугами с совершенно однотипным диагнозом.

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

Как я себе это вижу. Приходит пациент к доктору, мол — голова болит.
Доктор в ответ — не вопрос вот вам аспирин.

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

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

Что с ними делать то?

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

Размышления о человеческой жадности и глупости

densy

Как известно — деньги не пахнут. Но не для всех.

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

По донесениям моего ЦРУ, авторы из 5 популярных шаблонов были пойманы на воровстве чужого кода и крепко поплатились большими отступными. Пару человек ловил я собственноручно, но источники кода были буржуйские, и претензии было предъявлять некому, поэтому мы просто настоятельно рекомендовали персонажам закрыть дыры, что они, поджав хвост, судорожно бежали делать.

И вот казалось бы… Компенсации за ворованный код составляют очень внушительные суммы. Репутация несколько раз висела на волоске. Все они друг про друга все знают. Но их ничего не останавливает.

По большому счету мне глубого фиолетового на всех этих «талантливых вьюношей», которые любым моральным принципам вопреки, пытаются себе заработать на средство от постпубертатных прыщей.

Меня в целом волнуют другие вещи. А именно:

1 — Праздный интерес, что же движет этими людьми, что их заставляет пороть такую дикую чушь, да еще и впаривать ее за какие то деньги.

2 — Общее негативное впечатление, которое создается у людей про Opencart после использования такого род гавноподелок.

И да… пальцем я ни на кого показывать не буду. Я думаю все итак все поймут.

Частично, я наверное знаю ответ на первую ситуацию. Как я вижу себе это все. Есть некий мальчик Иннокентий из  Усть-Пиздюйска. Прыщавый, толстый, закомплексованный, бедный. От безысходности попал он на форум и начал бегать  в лички предлагать свои услуги за пять копеек всем в личку. Потом, сделал пару кривых, ели работающих дополнений. Потом поймал жирного заказчика, долго и нудно корпел над проектом, получил кем-то нарисованный макет в PSD, отверстал его. Ели ели сдал работу, и решил. А почему бы не продать эту срань как шаблон. Собрал, вывалил в продажу. И бля не покупают. Потому что, таких же шаблонов уже 10 штук. Написал Акция, поднял цену в три раза и поделил на три. Ок. начали покупать. Но у конкурентов покупают лучше. И что они делают. Берут разбирают какой-нибудь буржуйский шаблон с темфореста, воруют в наглую код, фаршируют и делают 1000 в одном.

tetris

 

Помните… Вот у них в детстве вместо нормальных компьютеров. Был только такой тетрис. И по другому они не умеют. Но.. за этот тетрис они хотят 2-3-4000 рублей.
Все смотрят на Journal и оправдываются — вот у них же десятки тысяч продаж. При всей моей нелюбви к Journal. Он сделан круто. Там есть четкий баланс между изменениями исходного кода Opencart и собственными свистелками. Все внедрения сделаны максимально аккуратно. Их много. Совместимость так или иначе падает. Но они не критичны.

А что же делают наши герои. Да им плевать на всех. Конфликт с Simple — возьму раннюю версию simple, переименую классы, назову суперфастренастоформление. Конфликт с фильтром, украду раннюю версию фильтра у Ведьмы. Будет мойсупергавнофильтр.
Я уже молчу, про то что на десяток шаблонов у всех удар в удар стили меню, украденные с XDS, который в свою очередь украл их у ULMART.

Наверное внешне — это выглядит хорошо, пользователь получает сразу такую няшную хератень, которая полностью готова для старта. Бери и торгуй…..

Но сука.. они же тупые кожанные ублюдки. Они все делают в одиночку. У них нет команды тестировщиков. У них нет опытных оптимизаторов, дизайнеров, все эти недоконструкторы глючат. И демоны хуярят новые версии и апдейты каждый божий день. Приходит клиент купить готовое решение — а оно жидкое как понос. И вроде заплатил бабла. Но плати и плати кому-то за обновления. Мало того, зачастую обновления подразумевают практически полную пересборку магазина с нуля, а многие шаблоны настолько перекраивают стандартный набор кода движка, что задача по интеграции других дополнений, превращается в квест, который по времязатратам такой же, как написать тот же функционал с 0.

А еще вся эта гиперебала в большинстве случае страшно тупит. XDS — какой бы мудак он ни был, вовремя остановился на изменении базовой структуры шаблонов. И у него из всех улмартоподобных высеров, получился самый беспроблемный. Все остальное — это полная блядская дичь.

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

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

Хотите больше заработать. Пишите качественные дополнения и продавайте их отдельно. Модули блять — это модули. Они должны быть в разделе модули в админке. А  не где то на 32ой слева вверхку вложеной вкладке в настройках хуй пойми какого шаблона.

Реально как вы заебали, пиздить, писать дерьмовый код, запросы, которые на 1000 товаров выполняются по 30 секунд, делать дырявые формы, через которые фтп и база угоняются в два клика.

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

Завязывайте блять с этими бесконечными апдейтами. Не ебите вола — нанимайте тестеров. И делайте плановые релизы, а не затычки в каждый менстряк.

Завязывайте пиздить — все равно все вылезет.

Завязывайте лепить гавносамолеты. У вас не получается.

Переставайте быть чертями — делайте бизнес с человеческим лицом.

Из-за того что вы сегодня паритесь только о том, как бы побольше продать, чтобы вкуснее поржать. Завтра вам продавать будет некому, потому что люди уйдут из-за вас с платформы, потому что из-за вас блять Opencart становиться дерьмом.

И это не Opencart дерьмо. В данном случае Дерьмо — это вы! Потому что всеми этими вшивыми мелочными действиями, вы рубите сук на котором сидите.

 

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

Magic Filter подводим итоги

В продолжение поста про sphinx фильтр.

Итак. Простите за задержку. Цифры у нас вот такие:

timing

 

Я же говорил, многие про меня плохо думают ну какие 2 секунды, разводил бы я этот огород ради 2 секунд? Получились действительно нереальные цифры (НА ХОЛОДНУЮ. КЕШИ НЕ ИСПОЛЬЗУЮТСЯ ОТ СЛОВА СОВСЕМ). Данный показатель можно еще уменьшить, если поместить набор значений без выбранных параметров в кеш. При чем в кеш необходимо будет помещать только такие базовые наборы на каждую категорию — но про это позже.

А теперь давайте с результатами розыгрыша сборки.
Я собрал в кучу результаты комментаторов и вот что получилось:

res

Byba, Kabantejay и ВасяХуйкин оказались ближе всех, и им отваливается по лицензии сборки opencart.pro. Для получения — обращайтесь к нам на форум к Admin.

А теперь несколько слов про то как эта магия работает:

Все данные с атрибутами определенным хитрым образом преобразованы и загружены в индекс Sphinx. Вся выборка группировка значений происходит при помощи SphinxQl. В целом это почти mysql-запросы, но с некоторыми ограничениями, из-за которых я себе месяц ломал голову, покуривая мануал, в попытках их обойти — и таки получилось.

Часть данных в виде базовых справочников, определяющих типизацию наборов, забирается напрямую из Mysql, а потом под набор параметров из сфинкса выгребаются сгруппированные значения.

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

В силу ограничений на структуру запросов в индекс, для подсчета значений с выбранными параметрами, пришлось сформировать дополнительный хеш-индекс, благодаря которому, при выбранных параметрах, подсчет оставшихся значений набора осуществляется за 5-10-15 сотых секунды.

В теории, при помощи подобного механизма, можно реализовать достаточно быстрый фильтр  исключительно с использованием MySql, а с нововведениями в 5.7 — очень очень быстро. Но пока не доходят руки поэкспериментировать. Необходимо доработать существующий прототип до «коробочной версии».

Пока я не решил пойдет ли данная поделка в виде «коробки» с услугой установки. Либо же останется реализацией для «ближнего круга». Если Динокс и 19ый мне прогарантируют эксклюзив и соблюдение авторских прав на торговых площадках, пойдет в коробку, но шансов мало, так как мне очень не нравиться тенденция попустительства к ворам, которые слизывают удар в удар идею, переписывают название переменных и с пеной у рта кричат — это мы все сами. Пока такая практика будет присутствовать, подобные наработки будут реализовываться только в формате из рук в руки.

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

Скорее всего будет коробка, которая будет работать сугубо на mysql. Она будет быстрая — но таких показателей как я привел выше, достичь не удастся и рядом. Но на 5-10к товаров в категории будет самолет даже на слабых серверах. Ну и до Нового Года вестей по этой теме больше не будет,- уйду  в запил. Есть еще вариант договориться с маэстро SOOR, забрать у него весь негрокод, и просто подменить структуру источника данных. Но, я даже не пытался с ним этот вопрос обсуждать, так как к его фильтру у меня очень много вопросов.

upd. Поддержку MegaFitler сделать не удастся, так как он наглухо кодированный. И если базовые данные ему скормить — не проблема, то вот с логикой выборки-подсчета будут проблемы.

 

 

 

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

Миграция блога на AdminVps

Если вы заметили, то последнее время бложик крепко вываливался в 503 ошибку.
Он у меня висел в помойке на очень жовтоблакытном хостинге, там у меня древнейший шаред-аккаунт за 30 долларов в год, на котором у меня живут всякие непришейкобылехвост проекты.
То ли это проделки гомосексуалистов-хейтеров, то ли магнитные бури, то ли парни на ukraine.com.ua в край зажрались, но что-то явно было не так.
При чем тут по принципу сапожник без сапог. И серверов, куда можно съехать как грязи, и делать это не долго, но лень матушка — она такая. Вобщем терпел я до последнего, пока не нарисовалась вот такая вот картинка:

time

Что это такое? Откуда? Кто виноват — у меня не было ни времени ни желания разбираться. Собрался я с мыслями — и переехал на AdminVps. Тут у нас такая картинка:

time2

Да да. Я в курсе что что-то жрет память, я даже в курсе что. Руки не доходят пофиксить.

Но у нас теперь https + http2 и 503 как в страшном сне.

И еще. Я не делал плавного переноса на https, ничего не редактировал в вебмастерах. Я просто тупо сделал редирект  и все. Так как в блоге основная аудитория — это постоянные читатели, париться мне за какой то поисковый трафик не с руки. Ну и интересно же сделать эксперимент просядет или не просядет. Есть у меня большое подозрение, что яша и гоша пофиксили алгоритмы миграции и при такой «ударной» технике переноса нихрена не просаживается.

Чуть позже доложу о результатах.

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

Magic Filter: 100 000 товаров в категории, 400 000 значений атрибутов, взлетит на Opencart?

Mjolnir_-_the_Dark_World

Скоро Новый Год — время волшебства и у меня есть его немножко для вас.

Написал тут мне давний товарищ, так мол и так. Магазин разросся, товаров 100 тысяч в одной категории, фильтр тупит, сервер как у Пентагона не спасат — и правда не спасает. Я запускал у себя. Ни индексы, ни сервер, ни кеширование. Фильтр не спасает ничего. Так как 100к товаров 10 атрибутов и пару тысяч уникальных значений.

И все настолько плохо, что владельцы магазина собрались ехать на Битрикс (Хиросима привет, ты не один такой потерпевший). Я прекрасно понимаю, что даже не все программисты понимают, что на mysql в существующей структуре данных Opencart сделать быстрый фильтр, работающий быстро «на холодную» по такому набору данных практически нереально.

Читать далее

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

Быстрый магазин и общие настройки как сварить? (чеклист)

warim

Возьмем среднестатистический проект на 5-10к товаров, который вроде как-то работает, и может даже в котором «специалисты уже что-то делали», или сервер оптимизировали согласно рекомендации хостинга.
Я еще не видел магазина, в котором мне нечего было бы покрутить.
Всегда народ что-либо упускает.
Давайте разебермся по пунктам что вам надо крутить, чтобы не болела голова за потерянные заказы и уходы клиентов.
Зачастую ведь кажется что у вас все хорошо, но даже повышение конверсии на 5-10% за год превращается в приличные деньги, поэтому любой оптимайз — это чистая прибыль.

Магазин у нас состоит из трех основных собственных компонентов (сервер, база данных и php-скрипт) и сторонних сервисов (аналитика, онлайн-чаты, различные api перевозчиков, доноры данных и так далее…)

Если на сторонние сервисы мы можем влиять достаточно опосредовано. То внутренние находятся у нас под полным контролем и мы можем делать с ними все что угодно.

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

Давайте начнем с сервера и того, что можно с ним сделать:

1 — У нас есть наш айпи. Его нужно проверить по спам базам, настроить ему PTR и проверить доступность магазина из мира через host-tracker.

2 — Сразу настраиваем бекапы. Неважно какая у вас панель, операционная система — настраиваем бекапы и проверяем, как они работают. Люди деляться на три категории: тех, кто не делает бекапы никогда, тех, кто делает бекапы, и тех, кто проверяет поднимаются ли из этих бекапов данные.

3 — Настраиваем почту. Как это сделать  я уже не раз писал.

4 — Закрываем на хрен, все что можем закрыть порты ssh, убиваем ftp, убиваем phpmyadmin, отключаем лог ошибок php.

5 — Проверяем включен ли Opcache для PHP и если не включен — включаем.

6 — Версия PHP. Не гонитесь за седьмыми восьмыми айфонами. 5.6 — стабильная работает, в ней в коробоке есть opcache и по скорости для Opencart она не отличается от 7.x, но вы избегаете массы конфликтов.

7 — Ставим библиотеки для оптимизации картинок imagick, optipng, jpegoptim.

8 — Ставим memcache или redis.

9 — Включаем Nginx, настраиваем кеширование-сжатие статики, проверяем в гуглпейджспиде.

10 — Включаем http2, если у вас старый nginx, обновляем, проверяем наличие openssl 1.0.2 (из консоли nginx -V)  и проверяем работу http2 этим сервисом.

11 — Если совсем извратиться ставим Mariadb 10 (она поддерживает full-text индексы для inno-db таблиц, нужны для некоторых модулей поиска и для megafilter pro plus). И вносим в конфиг сервера mysql, минимальные тюнинг-правки (поддержку больших пакетов, увеличиваем размер буфферов для ключей  ну и по мелочи таймауты уменьшаем типа, чтобы вдруг чего база не ушла в глубокие думы). Очень полезная статья на хабре.

12 — Если совсем шибко хочется извратиться, вкручиваем php-fpm и вырубаем apache и оставляем связку nginx+php-fpm. Мероприятие само по себе без навыков стремное. Но если вы хотите быстрее быстрого и стабильно — не помешает. В итоге экономия на спичках в 50-60 миллисекунд на ответе сервера. Но кому то бывает надо. Вот тут, нормальный рабочий конфиг, правда ему там надо еще дописать www на без www и исключение дублирующихся слешей. И еще. Проверьте, чтобы виртуалхост работал через сокет а не чере tcp-порт. Через сокет получается быстрее.

13 — Смотрим  в логи ошибок вируталхоста, видим кучу ворнингов про upstream, которому маленький размер буфера. Идем в конфиг NGINX и добавляем ему размер буферов. Также не забываем про количество workerов, которые делаем равными количеству ядер.

14 — Ставим сфинкс. Сфинкс желательно ставить, не тот который  в ваших репах. А последний с официального сайта. Я на свой страх и риск в последнее время пользуюсь 2.3 Beta. Пока полет нормальный, но мне нужны кое-какие фичи именно из этого релиза.

15 — Если еще раз, ооооочень сильно хочется извратиться, подвешиваем сесии в memcache. Польза будет на большом трафике от 2-3к посетителей в день, и польза незначительная. фанаты рухайлоад ,могут почитать подробнее на рухайлоаде.

Теперь перейдем к базе.

1 — Индексы. В последнее время, все стали умные, начитались про индексы, а еще более умные наделалил недоделанных калек с бесплатных модулей, которые типа сейчас оптимизируют переоптимизируют все и вся. Должен вас расстроить — не соптимизируют. Есть несколько сложных запросов, которым крайне мало индекса на все id, а для их быстрой работы необходимы составные покрывающие индексы на десяток таблиц, о которых ни один модулепейсатель и оптимизатор даже не подозревает, и это только для голого движка. А там где дело касается фильтров, большого количества отзывов в модуле Маркимарка к примеру (он в курсе), и большого количества заказов, там могут быть любые сюрпризы и для оптимизации работы этих задач, необходим первичный мониторинг этих запросов — а потом эксперименты, эксперименты и еще раз эксперименты, как с индексами так и с самими запросами.
Вобщем индексы надо расставить, но расставить с умом, а не как тупая обезьяна с гранатой.

2 — Innodb. Недавно я столкнулся с магазином, в котором после переноса покрашились таблицы, и я очень долго восстанавливал его работоспособность. При использовании innodb, такого не происходит. Поэтому если вы параноик — стоит перебить все таблицы в этот тип. Но. Будет потеря производительности на 5-15%, именно в результатах запросов, и проблема с full-text индексами. Но она решается — я уже писал выше как. А чтобы не сильно тупило сделайте параметр innodb_flush_log_at_trx_commit = 1 что это и зачем — читайте в мануале. Так что для использовании innodb — есть только один аргумент — это сохранность данных. Тут — хозяин барин.

3 — Сделайте оптимизацию и проверку таблиц. Сильно быстрее не станет, но дефрагментация диска всегда помогала старому пентиуму. Так что лишней не будет.

4 — По возможности проверьте весь хлам и удалите ненужные данные о товарах, атрибутах и всякую подобную лабудень. Часто бывает, когда у людей висит 2-3-4 набора таблиц в одной базе. Типа test new и так далее. Не стоит так делать. Проект в продакшне — это проект в продакшне в нем не должно быть ничего лишнего.

Теперь перейдем к скрипту магазина.

0 — проверяем права на папки. Были у меня пару раз истории, когда все тупило, ошибки выключены, магазин тупит, а просто надо было на папку кеша дать доступ.

1 — Даже если у вас нет медленных запросов, у вас может быть из общее количество в пару тысяч, и даже если каждый запрос выполняется 1 миллисекунду, то их обработка — это уже 2 секунды на выходе. Поэтому стараемся уменьшить общее количество запросов. Кешируем все что можно. Меню, модули категорий, модули хитов продаж и так далее. Первая задача оптимизации скриптов — это уменьшить общее количества запросов по максимум. Понятное дело что есть кодированные модули — но все куда дотянуться руки — кешируем, либо переписываем запросы.  Либо переписываем запросы и кешируем.

2 — Парсинг запускаем только по крону и только при помощи cli-php, никаких wget http://наш-магазин. Гоните таких писателей в шею. А еще желательно все кроны запускать ночью, если есть такая возможность.

3 — Все сторонние API, типа инстаграма — должны работать через AJAX, чтобы если инста лежит вместе с ним не лег у вас магазин, так как если вы из php стучитесь на сторонний ресурс и он лежит, то пхп ложиться вместе с ним.

4 — при желании забираем оптимизированные скрипты из гугл пейджспида, сливаем с CDN к себе локально шрифты, jqeury библиотеки, меняем все на .min, и все скрипты и стили, принудительно вписанные в  header.tpl объединяем в один файл (в два файла, один со скриптами, второй со стилями).

5 — Включаем кеши, там где можно включить, в модуле Марка. В мегафильтре, везде…

6 — Включаем поддержку Imagick и оптимизацию на лету картинок через jpegoptim и optipng. Как это сделать, я уже писал. Не забываем удалить кеш картинок и системный кеш, а потом их заново пересоздать, Xenus вам в помощь.

7 — Если хочется совсем быстро, подключаем redis или memcache, redis — предпочтительней, так как он без проблем работает с большими объемами данных и не сбрасывает их при перезагрузке, за счет использования дискового буфера.

8 — Если вы переезжали на https и использовали http-фикс, и уже переехали, желательно его выключить. Лишние str_replace  — это не хорошо.

9 — Фильтры все меняем на megaFilter  — он таки самый быстрый.

10 — Забываем про сео-фильтры, которые генерируют мусорные страницы без контента. По ним только боты шаряться и запредельно нагружают систему. В индекс такие страницы не смогут попасть, а тем более в топ выдачи. А вот санкции получить можно — как пить дать.

11 — Проверяем роботс и смотрим, чтобы у нас не было лишних открытых роутов. Идеальный роботс — это роботс в котором закрыты все get-параметры, через который роботы не смогут достучаться на любые сопли. Проверяем закрыт ли поиск, тэги, и комментарии. Я видел магазин в котором было 20 000 страниц исключенных яндексом — все это были комментарии. Поисковики очень не любят дурной контент.

12 — Проверяем доступность фидов  (сайтмап, yml) и по возможности используем только генерируемые по крону.

13 — Смотрим на размеры файлов кеша. Бывает модули генерят файлы по 20-30мб. Избавляемся от такого, так как парсинг туда-сюда.

14 — Ставим Сфинкс для поиска.

15 (отдельно по версии 1.5) Обновляем vqmod, хотя бы до версии 1.5  — дает +100-200 мс. Для магазинов на версии <1.5.6 обновляем класс работы с базой данных и драйверы mysql, mysqli, таки чуть быстрее и на 5.6 php не заведется без mysqli. Есть какая то мудацкая практика с драйвером mysqliz — но он тормознутый. Также в 1.5 — глобальная проблема с очисткой мусора в кеше. Он забивается и его надо чистить. Сделать это можно либо допиской garbage — коллектора в сам класс. Либо bash-скриптом по крону.

Наверное, я что-то упустил и местами не до конца раскрыл темы. Но вот такая вот «волшебная таблетка» выходит, которую надо съесть для качественной работы системы.  И просто «поставить модуль» отделаться не получается. Поэтому специалисты тут и так разберутся, а для неспециалистов теперь есть что предъявить оптимизаторам.

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

Дайджест

latest-news

1 — Наконец, мы сделали seo_pro для 3.0  с поддержкой мультиязычности. В течении ближайших дней на форумах будет анонс бета-релиза нормальной русскоязычной сборки.
Очень мне хотелось бы нафаршировать базовый сео-функционал ништяками. Но меня смущают два момента. Во первых, всякие обсосы типа Otvet чвякают полную пургу про костыли. Сам Ответ и ему подобные только хуй из жопы научился вынимать недавно, а гонору что пиздец. И вот что хорошее не сделай таким пидарам — все равно будут вонять как тухлое дерьмо.
Второй фактор — это то, что мы ушли на паузу и очень долго думали как сделать с минимальными потерями совместимости хорошую реализацию. В узком кругу, я поднимал вопрос не единожды. Ни одна падла, имеющая отношение к разработке сборки, даже не чихнула помочь (кроме Маркимарка) и то. Для него у меня есть небольшой квест, посмотрим как он справится. Инициатива должна быть наказуема — подробности позже.

2 — чем больше мне в руки попадает магазинов в оптимизацию, тем больше я понимаю, что у меня появилось много последователей. Там-сям я вижу отголоски моих наработок, почерпнутых из блога. Понятное дело, что объять необъятное — сложно, и всех нюансов специфики настройки быстрых магазинов, еще никто не освоил. По крайней мере, я не видел магазин, к которому бы  я не мог доебаться. Но. Как-то меня жаба гложет. И есть у меня идея монетизировать особо полезняковый контент. Вот думаю я сделать раздел со статьями с платной подпиской. Левую пургу  я и дальше буду гнать как и гнал. А вот полезняк всякий, хочется продать за копеечку. Что скажете — я жадный гандон? Или может стоит мне отсыпать немного деньжат за труды? И сколько может стоить годовой абонемент на доступ в платный раздел по вашему?

3. Ситуация с владельцем магазина, которому комом в горле стала розетка развивается по какому то странному сценарию.
Я готов ему помочь. Готов помочь с большим дисконтом, вплоть до того что, без вопросов пущу его к себе на сервер на какое то время без денег, чтобы он восстановил ресурсы и пережил успешно новый год.
Но. Я не могу этого сделать.
Сначала админ сервера на котором хостится проект начал вставлять палки в колеса.
А теперь пропал сам герой истории(объявился, но невнятно).

4. Смотрю я на происходящее у Динокса на форуме, и у меня душа радуется. Не мне судить, как так получилось, но очень надеюсь, что и моя заслуга в этом есть. Но таки получилось в коммьюнити порядок. Все кто пиздили модули — получили по заслугам. Демоны с тупыми злобными постами типа pasha и компания, завалалили хавала и сидят тихо, занимаются делом. Чукча и его гав-гав-гав-свита  умерили свой никчемный лай. И произошло чудо блять. Куча народа задает внятные простые вопросы про магазины. Нет ебучих медведевых, которые в каждой коммерческой теме срали про Magento. Не слышно дебила-паши, который всех без разбора крыл нищебродами. Не видно даже обсосов софорпов-неохуео, которые дебильно спамили абсолютно весь коммерческий раздел. Нет хуй пойми каких людей в OcTeam, которые в собственных коммерческих интересах, или по пьяни банили конкурентов и неугодных. Уменьшилось количество возвратов (да здравствует нормальная политика покупок дополнений). Выплаты стали своевременны и все довольны. Форум стал похож на форум.

ВОТ ТАКИМ БЛЯТЬ И ДОЛЖНО БЫТЬ РУССКОЕ СООБЩЕСТВО Opencart.

Нормальным живым и позитивным.
Динокс — великий человек. Он смог! Учитесь у него манере ведения бизнеса.

 

UPD — и еще мне вот подумалось про Динокса. Если он когда нить будет нуждаться в деньгах — он может написать бестселлер по кризисному менеджемнту с названием «Как я чуть все не проебал и вовремя взял себя за жопу».  А еще — из него теперь получиться отличный мер Конотопа!

konotop

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

Дно пробито, или высер тупого пидараса.

thor

Да простят меня мужчины, речь пойдет о женщинах.

Шутка, речь пойдет о идиотах.
Автор предыдущего поста списался со своим админом, когда мы попытались его копнуть и вот такую срань заявил ОДМИН…

СУКА СУКА, ФАК МОЙ МОЗГ… В этом тексте все прекрасно!

1. Сторонние люди не могут сделать серьёзные изменения (за исключением дизайна или небольшого точечного функционала под моим присмотром) не создав проблем. Вы же помните, что когда изначально ко мне обратились, были проблемы которые решить было мягко говоря трудно. Я много переписал для исправления и не хотел бы это повторять.
2. По индексации я смотрел. Разделение на несколько sitemap сделать можно, я занимаюсь этим. Взять какое-то стороннее решение не получится, не заработает без переработки.
3. Sphinx использовали году в 2012. Да и то только те, кто берёт первый попавшийся вариант. Этот движок не может обеспечить скорость при необходимости сложных запросов, выдаёт нерелеватные результаты (если результат выдаётся быстро), отображает устаревшую информацию (и не отображает новую), не поддерживает некоторые распространённые варианты свойств поиска.

f4

Т.е:

1 — я хуй с горы и Дартаньян, а все остальные пидарасы! А то что у нас тут магазины на мульт товаров шуршат — это блять научная фантастика. Инопланетяне прилетели и помогли. АГА АГА!

2 — аааа.. у меня готовый скрипт такой есть уже года три, ой ой.. не заработает. Хуй у него блять не заработает на нормальную телку. Только на такого же прыщавого урода!

3 — ОЛОЛОЛОЛООООООООООООООООО ОЛОЛОЛОЛО!!!

вот краткий список проектов которые используют сфинкс.

там например есть avito.ru — ахуенно в 2012 году застряли.

Друзья мои. Если вам когда нибудь, в подобном тоне напишет хотя бы один прыщавый тыжадмин. Шлите его на хуй. И от меня тоже. Скажите  ЙОДА ТОЖЕ СУКА ТЕБЯ ПОСЛАЛ НА ХУЙ!

Это вот еще один костыль галимый в бизнес человека, которого подкосила розетка.

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

Нам пишут: РОЗЕТКА-ПИДАРАСЫ!

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

О себе: владелец небольшого интернет-магазина, в Киеве, игрушки, более 7 лет магазину, 30+ поставщиков.

Всё идет к тому, что если Вы не импортер — то Вы будете сосать лапу уже самое ближайшее время.

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

либо местные производители стали продавать сами через пром уа — практически по моим оптовым ценам.

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

Еще случай — когда контора, называет себя оптовиком, при этом имеет 4 своих сайта — и через них сбрасывает свой товар со скромной наценкой и постоянными акциями — типа второй товар в чеке — минус 10% и тп.

Владелец одной из контор так и говорит — зачем мне другие продавцы — если розетка продает, как 70 моих клиентов. и пох, что там цена ниже рекомендованной, импортер всё равно в плюсе.

общее впечатление — что все бросились скидывать товар, а не продавать.

Поставщики стали отгружать товар каким-то мнимым продавцам на доску олкс, где отпускная цена торговцев из квартир не контролируется, потому что «я же не знаю, кто это». а проверять никто не собирается — «мне же всё равно продажи нужны»

У меня было несколько случаев — когда товары бренда LEGO — возвращали, чтобы купить их на розетке по моей закупочной цене, и еще и с посланием — что вы нас обманываете. По итогу, из Лего мы банально вышли.

Всяческие разбирательства с импортерами с предоставлением скринов с розетки о низкой цене не помогают — они пожимают плечами — «там акция» (которая уже длится 4 месяца?).

Или же цена после разбирательств исправляется — но после 19-00 и на выходных — Розетка кладет ее в пол.

Розетка на данный момент собирает 50% коммерческого трафика в Украине. и дальше будет больше.
начинает забивать сео-выдачу своими страницами — и всё чаще — когда на одной странице — несколько ссылок на этот магазин.

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

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

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

Такой же тренд и в США — 75% памперсов, 90% батареек и тд — продается через амазон, в структурах которого уже работает 550 тыс человек. Но там, хотя бы богатая страна, где разница в 5-20 долларов на чеке не отпугивает от покупки, а у нас покупатель часто может изменять решение из-за разницы в 50 грн.

Я считаю, что очень скоро грядут большие горькие изменения в украинском екоммерс, к которым многие не будут готовы.

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

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

Вот я реально трезво отдаю себе отчет. Я такой сука конченный максималист-заебышь!
Если мне чего надо сильно — то могу из глотки вырвать, а если не получается вырвать — то у меня есть план Б — есть мозг по чайной ложечке до победного.

Вот в ситуации с Adminvps, у меня есть полная уверенность: коль, я за них тут тяну мазу, они должны соответствовать. Но у меня постоянно хотелки, то suhosin + php 5.3 то редиску, то nginx мне бля пересоберите с openssl 1.0.2, то пересоберите сервант, то перенесите клиента на быструю ноду, то не заебуйте моих клиентов — разбирайтесь в своих косяках и пиздите ваших рядовых миньонов в саппорте побольнее,  чтобы не было «увеличивайте тариф» или «добавляйте память».
И вот так почти каждый день.

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

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

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

Сука сука, вот такая толерантность и клиентоориентированность. Ну хоть уважаемый такой-то такойтович перестали писать в каждом ответе — уже победа!

А ваще рыли — они крутые, пока что я ни разу не сталкивался с конторой, которая бы потянула все мои замечания и пожелания.

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

The Fast and the Furious (1)

Кароч, пришел к нам человек: «мол так и так почта ебется на магазине, в Яндекс ходит через раз».
Ну настроили почту первый раз через smtp яндекса, как-то она вяло через раз пошла.
Саппорт АдминВпс мычит, саппорт Яши мычит. Все мычат. Че делать?

Настроили ее через сервант. И все стало Ок.

mail-tester-sir

Было у меня немного свободного времени и решил я посмотреть на магазин.

Имеем:
ocstore 2.1 + july шаблон + turbo + php 5.6 + тухлый одноядерный сервант на AdminVps, минимальное количество товаров и время загрузки порядка 400-500мc на холодную. Как по мне — это в рамках, но владелец магазина — задрот, и хочет быстрее быстрого.

Ставим nginx+php-fpm c тем же 5.6, оптимизируем базу, делаем magick cache Катиному шаблону, ставим Redis, включаем OpCache.

И получаем 127 мс «на холодную» без глобального кеша Турбо:

sir_dom_cool

и 36 мс

sir_dom_turbo

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

Ну еще мы сделали нормальную обработку редиректов, убрали повторяющиеся слеши и еще много вкусного по конфигу nginx.

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

Так что, пока, 89 попугаев  Page Speed и 40-100мс TTFB — наше все.

sir-dom-page-speed

 

А теперь загадка.
Что можно сделать еще с этим магазином?

redis_image_cache, redis_session, php7, http2.

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

Seo умерло говорили они.

Помните я вам говорил, что у меня нашелся специалист в продвижении, которого мне не стыдно порекомендовать. Помните, я всегда говорил, что когда вы выбираете подрядчика — необходимо спрашивать «а что ты сделал для хип-хопа» в свои годы.

Вот вам товарищи, что делает мой специалист со свежеиспеченными магазинами:

seosceen

 

Это, как он сам говорит, в лайт-режиме. В достаточно конкурентной тематике, да еще и в МСК.

Цена вопроса — недешево. Совсем недешево. Аудит от 25, и месячный бюджет готовьте от тридцатки. Зато работает, и вам не будут рассказывать:  что, если не получится, у вас через полгода есть право заключить с нами договор еще на полгода.

Если кому нужны контакты — стучите мне по личкам на форумах.

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

Мы ебали апельсин. Ой. Нет. мы ебали SV2109, ой нет! Мы ебали VestaCP до смерти, а она не умерла.

article_1523_large

А теперь будем ебать sv2109, ну и если кому надо — можете со мной за компанию, взять апельсинку!

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

В итоге имеем vestacp + centos6 + дрвений mysql + нерабочий аккаунт + клаудфларе.
Сразу говорю — всякими непотребствами типа дропов и закладок, я не занимаюсь. В абузы народ часто бежит из-за ретивых правообладателей. А тут товарищи печатают футболочки, ну и постоянно приходят хостерам письма счастья за использование чьих-то образов.

Вобщем. Побыренькому мы все подняли завели, даже поставили свинкс, но не тут-то было. Началась какая то ебала… 30% страниц рандомно валят 502 ошибку, а  в логах пусто. Ошибка есть а в логах ее нет. Просто появляется запись client prematurely closed connection (104: Connection reset by peer)  и пиздец. Но не всегда. И не на всех страницах.

Что я только не делал, и php-fpm + nginx без апача, и версии php любые, и логи в паническое состояние — в итоге все равно хер. Что-то косячит и пиздец. Запускаешь на магазин 100 потоков на главную, на одном ядре 30% нагрузки. Запускаешь на категорию хост-трекер 80% 502 код. Ну какой то ебанный ебанидзе.

На весту было решено забить хуй и ставить любое свое окружение, если че там весь сервер с пониманием проблемы можно за 2 часа пересыпать.

Но понимание не приходило. Приполз Savage4pro — и такой. Мол ебать.. а попробуй ионкуб смени. И мы начали ебстись.
Надо же было проверить догадку — и таки блядь бинго. Отключаем ебанные стикеры от св, конченные ебанные стикеры конченючие блядь выблядские стикеры. И все работает. Из-за этого уебана у людей уже полгода хуй через пень колоду работает магазин. Я проебался 12 часов в телевизор. А ему по хуй. Чтоб блять, когда он попадет в программистский ад, он срал не переставая перфокартами размером с Арарат!

 

На 7.1 модуль от ебучего sv2109 не заводиться, на 5.6 косячит, вот с теми симтомами, которые я описал. А на 5.4 у нас не стартует mysql драйвер пхп, потому что софт на сервере с вестой у ебучих хостеров, чуть свежее чем гавно мамонта. При чем понять в чем проблема мы так и не смогли. То ли реально конфликт с кубом, то ли у него там где то упиздячивается бесконечная рекурсия.

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

И самое блять удивительное, несмотря на то что я ебал и в рот и вноса всю эту хуергу добрую половину суток в доброе время суток (АГГР), блядская веста не померла. Вот я уже с ней распрощался, думал как заебись же без нее будет жить. Ан нет  — выжила падлюка.

Вобщем итог: св — гавно, веста еще большее гавно, хотя нет, таки св больше, софорп — жирный упырь, но он св побеждает.

Всем добра а упырям перфокарту в жопу.

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

redis vs memcache в Opencart

redis

Меня часто торпедируют вопросами типа: » а если я установлю Memcache», мой магазин станет быстрее. И я всегда говорю нет.
Так как в 99% случаев у вопрошающих микромагазин, который хостится на ukraine.com.ua. А они еще те упыри и решили всем продать услугу memcache, которая типа может быть использована.

Так вот на микромагазине от мемкеша толку — нету!!!! НЕТУ!!!
И быть не может.

Чтобы вам было понятно, что это такое и зачем он используется. Что мемекеш, что файловая система, что редис — это хранилища данных по принципу (ключ)->значение.

В файловой системе ключ — это название файла — значение — это его содержимое. То же самое и в мемкеше и в редиске, просто название файла заменяется какой нить аброказяброй, которая зачастую является проивзодной функции MD5 с аргументами в виде описания признаков входящих данных, которые мы пытаемся сохранить.
Т.е. чтобы было понятно домохозяйке, кеши, которые сыпятся в подобные хранилища — это какие-то очень часто используемые данные. Если приводить простой пример таблица умножения у нас в голове — это такой же кеш. Это какие то данные, которые мы запомнили и они всегда у нас в быстром доступе. И чтобы узнать сколько будет 2+2 нам не надо долго думать, мы всегда знаем что это 4.

Вот так же и в опенкарте, вместо того чтобы искать стопицот раз в таблице с урлами значения ЧПУ, есть готовый файл уже со всем набором алиасов, и нам достаточно загрузить его в в виде массива в php, и дергать эти данные из очень быстрого внутреннего набора, а не обращаться в базу.

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

Однако. Эта технология имеет право на жизнь в ситуациях, когда кроме скорости доступа, у нас еще есть такие факторы, как время передачи данных (у нас ведь могут быть большие данные в кеше 10-20-30 мегабайт), а также количество этих наборов данных. Если у нас их больше нескольких тысяч, то доступ в памяти к такому количеству данных, в десятки раз быстрее чем в файлах.

И вот бывают магазины, у которых файл кеша с сеоурлами, весит к примеру 25+ мегабайт, или магазины с модулями, в которых какой-нибудь тупой ебливый пидар закешировал все атомарные наборы данных и запиздячил овердохуя коротких данных в кеш. И там же может быть фильтр от Soor, который своих кешей еще наработал мегабайт 60. И при каждой загрузке нам эти данные надо дернуть с диска и преобразовать из файла в php-объект. В рамках загрузки одной страницы — это много долго, и ресурсоемко. Поэтому тут нам на помощь и приходят быстрые хранилища.

У всех на слуху Memcache. Но он морально устарел — это раз. Два — при установке «из коробки» он требует недюжего конфигурирования чтобы и дыры закрыть и заставить его работать с большими данными. Но у нас есть отличная альтернатива, которая лишена этих болезней — это Redis. Мало того что у него нет проблем с размером данных, так он быстрее и обладает кучей ништяков.

Вот вы ща спросите. Ой. а у нас же у всех 2.x, а Redis поддержка только в 3.x.
На что я вам скажу, что пока вы не прочитали эти строки вы даже не знали что Даниэль сделал поддержку редиске в третьей ветке, это раз, а два. Те кто будут пытаться применять на практике мою наводку, я думаю без труда скопируют драйвер из 3.x и пихнут нужную дописку в конфиг.

За сим откланиваюсь и напоминаю, что SOFORP — жирный пидар!

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

Простота — хуже воровства

prg

Как вы относитесь к ворам?
Я думаю что все скажут плохо.

В последнее время, я несколько критично начал относиться ко времени. И все больше воспринимаю его как ресурс. Соответственно, когда кто-либо хочет украсть у меня время — у меня возникают ощущения, схожие с теми, как-будто ко мне пытаются залезть в карман и вытащить кошелек.

В голове не укладывается — почему люди, считают, что им что-то должны? Откуда у них слепая уверенность, что им все должны?

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

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

Тем самым, я экономлю чужое время, а также постоянно пополняю свои знания.

А всяких ленивых наглых тупорезов, очень хочется отправить в школу. Чтобы они заново научились читать писать и гуглить.

Реально из последних перлов в личках:

- А сложно редактировать шаблон?
— Нет.
— А можешь научить по тимьвюверу.

Ну заебись, я 10 лет учился, мне то легко. Только вот что делать? По тимвьюверу 10 лет учить высшей математике, теории графов, булевой логике и так далее?

Еще ситуация у товарища:

- У нас дикий админ. Он требует ваш айпи, приватный ключ, список файлов которые вы редактируете.

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

Ситуации когда чего-то кому-то сделал, а потом а еще, а ой, а тут, и здесь и вот не работает. А вам что сложно помочь?

Их просто не счесть. Такое ощущение, что все считают, будто мы живем где-то в бункере, сидим без сна и отдыха и только ждем, когда нас нахлобучат какой то дополнительной хуйней, которую «тебежспециалисту» три секунды решить. Да ебаный рот. Даже если одну секунду. Это моя одна секунда а не ваша. Вот как их всех хочется табуном загнать ко мне на дачу по весне, покопать огород. Хули ж вам копать — это просто, навыков не надо.

Вобщем реально наболело.

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

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