45 минут назад
Нечто подобное реализовывал с помощью msProfile + самописная оплата пользователем различного функционала с личного счёта. Т.е. пополнение через любой ...
Помогите советом, по реализации платных одноразовых услуг на сайте. 3
3 часа назад
miniShop2.Order.add('extfld_delivery_price','100', function() {
miniShop2.Order.getcost();
})
Это вот работает, но чтобы увид...
Не обновляются поля заказа ajax msOrder 3
8 часов назад
Благодарю за ответы.
Обновил Minishop2 с 2.5.0-pl до 4.4.0-pl., заказы не приходят на почту 3
16 ноября 2024, 21:12
Спасибо. Работает.
Не процессится значение TV в шаблоне pdoPage при передаче его в сниппет кастомный. 2
16 ноября 2024, 20:54
Владимир, добрый день!
Есть возможность добавить в модуль функцию отмены заказа?
Т.е. если в админке магазине поставили статус Отменен, чтобы в Ти...
[mspTinkoff] 1.0.2 — Новое API + ККТ 54
15 ноября 2024, 17:40
спасибо, несколько раз проверял и не заметил)
pdoResources не выводит ресурсы с указанным шаблоном 2
14 ноября 2024, 13:55
Сложна.
Я сделал с помощью js. Задал class для div c results
и вот так прописал
document.querySelector('.easycomm div').textContent = 'Отзывов пок...
Как правильно задать свой блок "Ничего не найдено" в mFilter2 7
14 ноября 2024, 11:50
Добрый день! Установил MarkdownEditorFrontend с modstore и xpdo выдало ошибку что не может найти сервис. К моему удивлению в транспортном пакете не на...
Markdown - редактирования текст в формате markdown 11
14 ноября 2024, 05:22
astro.build впервые слышу такой фреймворк. Вообще gtsAPI затачивался под primevue.org. Но в primevue вообще не никакой связи с api. Там api как хочешь...
gtsAPI - Универсальное API для MODX 4
Всего 123 801 комментарий
Значение параметра не обрабатывается парсером, а просто заменяются плейсхолдеры.
пока идет запрос удаления новый пользователь не получит новый идентификатор сессии, уже действующий пользователь тоже словит задержку и будет нервно курить и в итоге закроет сайт.
Так вот чтобы не было тормозов я и решил ввести limit, нам же не принципиально очистить таблицу за один проход.
да, это ускорит удаление, но не сильно, в случае с большим кол-ом данных думаю будут те же тормоза что я описал выше.
Рассматриваю ситуацию, когда базе у тебя 2 000 000 сессий, из них 1 400 000 (70%) — эт боты.
Т.е. симулируется картина, что либо сессии продолжительное время вообще не очищались и накопились, либо у сайта ну очень высокая посещаемость.
В первом случае, если мы поставим limit 5000, то эти сессии удалятся за 280 подходов. Ну а далее у нас будет регулярно все это работать и 2 млн сессий в базе уже не будет. По идее мы должны так сконфигурировать сервер, чтобы каждый раз при срабатывании gc() устаревало не более 5000 сессий, иначе они начнут накапливаться.
Во втором случае (если бешеная посещаемость), хватит ли лимита в 5000 для того, чтобы удалить старые сессии? А если нет — то мы должны повысить лимит.
И у меня возник вопрос: какая разница в обоих случаях, есть лимит или нет? Кроме первых 280 проходов, которые без лимит выполнились за 1 раз (напомню в нестандартной ситуации, что сессии ранее не очищались).
p.s. про smartSessions:
А в smartSessions медленная работа, думается, обусловлена LIKE поиском по колонке user_agent во время очистки и отсутствием индекса))) нужно добавить. Я когда это писал все — тормозов особо не заметил, посещаемость сайтов моих была ну до 1000 человек в сутки. Но вообще, поле is_bot реально лучше, ибо в этом случае LIKE поиск убирается, остается просто быстрый поиск по колонке tinyint. В общем если руки дойдут — изменю алгоритм.
Переименовывать папку с асетами для безопасности это нонсенс, к ней в любом случае есть доступ с фронта, как её не назови.
Что касается развития, то оно будет в ближайшие недели, только только ни функционала поиска, ни функционала SeoFilter не будет. Поиск в mSearch2 хорошо работает. SeoFilter надеюсь будет работать и с FlatFilters.
— на modhost.pro/ на тарифе разработка, сгенерировал 500 000 записей уникальных сессий с 70% ботов.
— выделенный сгенерировал 2 000 000 записей уникальных сессий с 70% ботов.
Далее по тексту режим:
standart — стандартный запрос на удаление что используется в modSessionHandler
ext — запрос на удаление что используется в ExtSessionHandler
Сразу стало заметно тормоза:
Session cleanup time for mode «standart»: 0.0150 s
Session cleanup time for mode «ext»: 3.3543 s
Был один запрос с несколькими условиями github.com/vgrish/ExtSession/blob/490dfc4a7a8f1d1dd18a988573f5b607fadc457c/core/components/extsession/src/ExtSessionHandler.php#L180-L204
Разбил на несколько, стало чуть получше но все равно не то.
Добавил общий индекс на 3 колонки github.com/vgrish/ExtSession/blob/8223ff63e5574b8697fcf0eb66e55c93eaba7fd6/core/components/extsession/schema/extsession.mysql.schema.xml#L36-L40
Session cleanup time for mode «ext»: 1.3543 s — Тоже не фонтан.
Перекинул колонки github.com/vgrish/ExtSession/blob/8223ff63e5574b8697fcf0eb66e55c93eaba7fd6/core/components/extsession/schema/extsession.mysql.schema.xml#L8-L10 перед колонкой data
Стало еще получше.
Ну и подумал нам же не надо прям сразу за раз удалять все записи, пускай удаляет в несколько проходов и добавил к удалению LIMIT.
И вот тут уже стало совсем хорошо
Session cleanup time for mode «ext»: 0.0029 s
Так что с помощью тестов удалось найти слабое место и исправить ситуацию. LIMIT Подбирается опытным путем в зависимости от посещаемости сайта и мощности сервера. По умолчанию использовал 5000.
[Tue Feb 13 17:36:03 2024] [error] [client 5.142.177.134:0] PHP Fatal error: Uncaught Error: Class «uagent_info» not found in /home/p/prozon/new.prozon.ru/sys/cache/includes/elements/modplugin/41.include.cache.php:194\nStack trace:\n#0 /home/p/prozon/new.prozon.ru/sys/model/modx/modscript.class.php(76): include()\n#1 /home/p/prozon/new.prozon.ru/sys/model/modx/modx.class.php(1674): modScript->process(NULL)\n#2 /home/p/prozon/new.prozon.ru/sys/model/modx/modresponse.class.php(83): modX->invokeEvent('OnWebPagePreren...')\n#3 /home/p/prozon/new.prozon.ru/sys/model/modx/modrequest.class.php(138): modResponse->outputContent(Array)\n#4 /home/p/prozon/new.prozon.ru/sys/model/modx/modrequest.class.php(122): modRequest->prepareResponse()\n#5 /home/p/prozon/new.prozon.ru/sys/model/modx/modx.class.php(1461): modRequest->handleRequest()\n#6 /home/p/prozon/new.prozon.ru/public_html/index.php(54): modX->handleRequest()\n#7 {main}\n thrown in /home/p/prozon/new.prozon.ru/sys/cache/includes/elements/modplugin/41.include.cache.php on line 194, referer new.prozon.ru/adm/?a=workspaces
Решил установить на сайт (у сайта изменены пути) при установки оба компонента SendIt и flatfilters, assets установились в нужную папку (она у меня по другому называется) а вот core создал свою папку core. Не беда перенес в ручную) Конфик появился, могу его создать, НО не могу удалить и не могу и проиндексировать. В логах ошибка Uncaught (in promise) SyntaxError: Unexpected end of JSON input at functions.min.js:1:188
На чистую систему не ставил, сказать будет работать или нет, не могу. Если все должно работать как на видео, то это круто. Но хотелось бы развития и увидеть функционал SeoFilter и может даже какой ни будь умный поиск.
И да у SendIt почему-то по умолчанию стоит путь assents (мне кажется большинство их меняет, с целью безопасности).
А зарегистрированных около ~35 тысяч было. Это было больше года назад сейчас всех данных не вспомню, особенно по строкам
Помню только что как только я переключил с smartSessionHandler на стандартный modSessionHandler — сразу начало работать как нужно :)
Я обсужу с Заказчиком такой тест — и смогу в будущем поделиться данными.
По настройкам было выставлено так:
smartsessions_authorized_users_gc_maxlifetime = 2592000
smartsessions_bot_signatures = DataForSeoBot|Googlebot|YandexBot|DotBot|bingbot|Mail.RU_Bot|PetalBot|MegaIndex.ru|YandexDirectDyn|Adsbot|SemrushBot|facebookexternalhit|SEO|Spider|YaDirectFetcher|BLEXBot|AhrefsBot|YandexMobileBot|MJ12bot|Barkrowler|crawler|YandexMetrika|Applebot|YandexMarket|python-urllib3|vkShare|UptimeRobot|Pinterestbot
smartsessions_bots_gc_maxlifetime = 259200
На сколько строк таблица сессий набивалась?.. интересно прост :) Я точно не тестировал на объемы, у меня крутиться на сайтах с посещаемостью до 5000 в сутки — это 150 тыс. посетителей в месяц…
Ну и вообще, по поди какой-нибудь индекс нужно добавить или выборку улучшить, наверняка 1 узкое место
В каком месте тормозило?
Вопрос, а проводилось ли тестирование работы под нагрузкой?
Потому что на smartSessions при сроке жизнь 1 месяц, и большом количестве посещений (около полумиллиона юзеров в месяц) — сильно тормозило проект. Сильно это измерялось в секундах вроде. Боты исключались понятное дело.
В mFIlter2
Например. Если укажите
То для вывода нужно использовать