- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Хостинг sweb, max_user_connections = 80
На сайте было 2300 посещений за 24 часа, но перед матчем лиги чемпионов количество посетителей еще увеличилось, и сайт вырубился из-за превышения max_user_connections.
Движок DLE 7.5
На движке стоит хак с примерно таким кодом:
{reppost} и {month_reputation} стоит в шаблоне к краткой новости, которая показывается 12 раз в категории.
PREFIX_reputation достаточно большая таблица.
1. max_user_connections превышается из-за того-что много посетителей и надо менять хостинг (не думал, что 3000 - это много)?
2. max_user_connections превышается из-за того-что хак работает не оптимально или такой запрос не может дать нагрузку?
3. И если это из-за хака, то можно ли создавать с помощью крон маленькую табличку и уже из нее брать репутацию, подсчитанную данным образом? Нагрузка при этом снизиться?
querty добавил 15.09.2009 в 23:42
Сайт о котором здесь написал в подписи. Думал будет рекорд посещаемости, а оно вон как вышло :(
Параметр max_user_connections ограничивает число одновременных подключений к базе. Т.е. в некоторый период времени возникла ситуация, когда DLE одновременно обрабатывал более 80 HTTP-запросов и, соответственно, поднял более 80 соединений с базой. Я это к тому, что ограничение не количественное, а пиковое. Образно, не ресурсе может вообще не быть посещаемости, но совершив одновременно 81 запрос, мы всё равно упрёмся в max_user_connections=80. Решений данной проблемы может быть несколько, но все они должны быть приняты только на основе данных профилирования системы.
max_user_connections превышается из-за того-что хак работает не оптимально или такой запрос не может дать нагрузку?
Приведённый Вами код, действительно, может быть косвенной причиной проблемы, но только при условии ощутимой нагрузки (относительно создаваемой остальными запросами), что может продлить время каждого соединения, увеличив "нахлёст".
LIMIT n используй, скорее в этом причина
лучше кешировать.
А как кешиовать, создать вспомогательную таблицу и из нее простым запросом брать данные, а раз в день обновлять вспомогательную таблицу с помощью крон. так?
Во вспомогательной будет строк около 6000 и когда обновлять буду, надо такой запрос посылать для каждой. Это нормально?
1. max_user_connections превышается из-за того-что много посетителей и надо менять хостинг (не думал, что 3000 - это много)?
Именно так. Точнее, превышается максимальное кол-во коннектов одновременных.
limit n не при чем абсолютно (судя по запросам и так 1 запись выбирается), кэширование если оно не будет исключать коннекта к БД - особо не поможет (т.к. проблема в кол-ве одновременных коннектов), удаление хака или его кэширование особо не спасет (несколько поможет, т.к. меньше времени будет выполнятся весь скрипт - скорее освободятся новые коннекты).
Есть обходной маневр (завести еще 1 юзера) и может помочь попытка отключить pconnect (если он включен), посмотрите здесь
/ru/forum/comment/4214576 - уже отвечали на аналогичный вопрос. Там же гляньте и на пункт 3.