Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #21
09 сентября 2015, 22:58
0
Кстати, еще вопросик: у вас там 100к товаров. С объемом кеша как-то боролись? КЕш-провайдер стандартный файловый или как? И если файловый, то сколько он по объему в мегабайтах?
09 сентября 2015, 22:13
+1
Ссылку на сайт можно? Так-то это просто картинка от рандомного сайта.
Также могу порекомендовать Django, на проекте с 1500к товаров страницы генерируются за ~50мс
Генерятся, или из кеша отдаются?

P.S. 1к в день — посещалка ни о чем, если говорить о нагрузке. Вопрос сколько онлайн юзеров выдерживает? Мы на dg-yug.ru тестировали 2000 юзеров онлайн, сервер положить не смогли. Отчет: joxi.ru/Dr8Ke8OIYgKlA6
Но это было до того, как его испортили обновили. Сейчас скорее всего и сотню не выдержит.
09 сентября 2015, 19:49
+1
Я довольно часто переделываю сайты и имею не малый опыт в этом. Когда сайт открывается несколько секунд, даже при смене хостинга на офигенный вы вряд ли получите прирост более чем в три раза. Но плюс к этому вы еще и получите весьма заметную нагрузку на сервер. Просто посмотрите картинки здесь: modxclub.ru/blog/131.html
Поэтому, даже если вы перенесли на офигенный хостинг, то проведя нормальную работу с сайтом можно увидеть серьезную разницу в нагрузке на сервер, особенно если есть средства измерить ее.
А вот такие общие фразы «я делал, было много всего, у меня все летало как ветер...» без пруфов — как бы мало имеет ценности.
09 сентября 2015, 19:19
0
А можно ссылку на такой магазин на шопкипере? А то я за два дня получил уже два запроса на оптимизацию магазинов на нем. Один три секунды открывается (там меньше сотни товаров), а другой порядка 20 секунд. Понимаю, что от разработчика тоже многое зависит, вот может вы тот, кто смог на нем большой магазин сделать?
09 сентября 2015, 15:58
+1
Да я тоже не на агитации сосредоточен, а на деталях и правильным именованием вещей. Хранить дополнительные параметры товаров, когда сами товары являются документами — это не есть «хранить товары в отдельной таблице. Это есть „хранить данные товаров в отдельной таблице“.

Вашим решением тоже не приходилось пользоваться, верстальщику с ним тяжко.
Верстальщику с ним не сложно, если он там верстает, а не программирует. Потому что что сложного верстать код в Смарти, тем более имея исходные данные в массивах? О плюсах использования сторонних шаблонизаторов на замену нативному MODX-ому довольно много написано здесь.
А вот если вы пытаетесь программировать, а не просто компоновать готовые модули, то тут да, верстальщику это сложно. И об этом сразу говорилось, что ShopModxBox имеет довольно высокий порог вхождения. Но в топике ничего не говорилось про пороги вхождения, в топике спрашивалось про возможности создания магазина на 25 000 товаров на MODX. ShopModxBox это может легко, даже без установки cacheOptimizer.
09 сентября 2015, 15:50
0
Всегда пожалуйста!
08 сентября 2015, 23:04
0
А ЧПУ на базе самого MODX, проверку прав и т.п. — все фтопку. Да? Ну ОК. По этим причинам мы не делаем самих товаров не в документах. Но достаточно прокачали оптимизацию, чтобы потянуть сотни тысяч товаров. Хотя бы вот этот топик прочитайте habrahabr.ru/post/253737/
08 сентября 2015, 22:58
0
Вы говорите о товарах или о данных товаров? И в минишопе, на сколько я знаю, товары не хранятся как бы отдельно. Есть товар (CRC, расширяющий modResource класс github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/msproduct.class.php#L7), а есть отдельно класс данных товаров msProductData. То же самое и в ShopModxBox.

А вот про хранение товаров в отдельной таблице шопкипера никогда не слышал. Только что в отдельном контексте хранится. Но может что новое и появилось. Или там так же отдельно только параметры документов, и вы это тоже называете отдельным хранением товаров?
08 сентября 2015, 20:58
0
Товары документами хранятся не только в шопкипере, но и в минишопе. Это нормальная практика. Но да, с кешем тут конечно потребуются дополнительные телодвижения.
Во-первых, кеш-провайдер переводится на memCached или типа того. Как раз для быстрого сброса кеша. По опыту скажу, что даже на сотне тысяч документов кеш будет сбрасываться мгновенно.
Во-вторых, дело не только в объеме и сбросе кеша, а в самой генерации кеша. Ведь MODX проходится по всем документам, чтобы набить их в кеш. Хотите больше информации по кешированию — крайне советую к прочтению modxclub.ru/blog/139.html
Для борьбы с этим мы используем описанный в статье cacheOptimizer. Правда после обновления самого MODX-а его так же придется переустанавливать, но это не долго. Может руки доберутся и я все-таки отправлю пуллреквест в ядро MODX, хотя сомневаюсь, что его примут. Но без этого крупные проекты на MODX просто не запустить.
08 сентября 2015, 19:37
0
Очень массовая, к сожалению. Но почему-то не торопятся ее поправлять.
08 сентября 2015, 18:50
0
Рекламы коммент: если не MS2, то обязательно уже и не MODX? Есть ShopModxBox. Вот, для примера, магазин на 140 000 товаров. Дизайн конечно стремненький (не наш), но по скорости работы он совсем не плох.
Хотел было показать еще www.dg-yug.ru (там 75 000 статей, и как раз там я делал семантический поиск, котторый войдет в ближайший скорый релиз ShopModxBox), да только теперь он тормозить жутко стал. Судя по всему я могу сейчас кинуть тень сомнения, но переделали его как раз на office, mfilter, hybridAuth и т.п. До того, как сайт испортили, поиск выполнялся 1-2 сек по всем статьям (там порядка 10 500 000 индекс-записей). Чуть позже я разверну копию сайта, чтобы подтвердить свои слова. Сейчас поиск выполняется более 10 секунд. К слову о поиске: искать, например, «Пропала собака в Сочи». Сейчас он находит 1000+ страниц результатов. В первой же статье есть Сочи, но нет и близко собака и пропала (пропажа и т.п.).
Вообще про историю с этим сайтом я напишу чуть позже. Это яркий пример того, как бывает, когда клиент хочет съэкономить, думая, что можно сменить подрядчика на подешевле, когда все уже готово. Забывают, что готовое сломать не долго. А ведь раньше сайт открывался менее чем за 0.1 сек. Он и сейчас примерно за столько же открывается, да только это из кеша. На горячую 3+ сек открывается. Это при том, что еще и комментарии убрали (а у нас они были не кешируемыми).
В общем, дело не только в выбранном инструменте, но и кто работает с ним.
07 сентября 2015, 18:14
+1
Бывает. if(!$resource->isNew()){}. Проверяем не режим процессора, а состояние объекта. Так гораздо надежней. Но зависит от логики. Если, к примеру, в каком-то более раннем процессоре зачем-то сохранится объект, то здесь уже логика даст исключение.
06 сентября 2015, 13:37
0
Как вариант, да. Но вообще, думаю надо в ядро слать пуллреквест с переносом прав в сам modProcessor. Это же очевидно, что проверка должна быть изначально.
06 сентября 2015, 13:36
0
Ну, шлите пуллреквесты, там посмотрим.
05 сентября 2015, 13:39
0
На счет этой идеи чуть позже отпишусь, с релизом. Просто у меня там тоже кой-какая мелочь добавлена.
04 сентября 2015, 21:34
+1
Кстати, по поводу тестирования и сохранения сниппетов: сниппеты должны возвращать результат, типа return $output; То есть если выполнить правильный сниппет, то результат его не будет выведен. Надо по идее процессор вывода подпилить, что-то типа $result = eval($code); if($result) print $result;
04 сентября 2015, 21:30
0
На счет появления новой версии отписался здесь. Завтра будет.

По поводу кнопок: странно, что у тебя они нормально выглядят. Какой браузер? Или может в новой версии MODX-а чуть по-другому все отображается. В любом случае, с точки зрения ExtJS было не фэншуйно так кнопочки реализовывать (стили в код писать). У меня вот так отображалось: joxi.ru/Vm6ye0RuagkNrZ
Кнопки я переделал. В ExtJS для того, чтобы кнопки вправо отправить, достаточно в тулбар элемент -> прописать.
04 сентября 2015, 21:23
0
Сорри, что вчера так и не выкатил новую консоль, до позднего вечера был занят. Сегодня позанимался ей плотно, но не все еще закончил. Там довольно объемный кодрефакторинг пришлось делать. Но завтра уже консоль точно появится. Новшество поюзал, весьма юзабельно получилось.
03 сентября 2015, 15:51
0
Да. Вечером предметней посмотрю.