- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
а как нибудь можно сделать чтобы запрос не мог более ХХ секунд исполнялся?
На MySQL вроде бы нельзя. Есть там костыли вроде innodb_max_lock_time, но это не то и работает не так. Так что лучше всего отловить запросы, которые исполняются секунду и больше и что-то сделать с оптимизацией - создать нужные индексы, разбить запрос на несколько, реорганизовать хранение данных...
Проблема не в запросах, а в скрипте, который их создаёт.
В консоле посмотрите, что за файл создаёт такие запросы и всё. Он точно должен висеть в топах.
Проблема не в запросах, а в скрипте, который их создаёт.
В консоле посмотрите, что за файл создаёт такие запросы и всё. Он точно должен висеть в топах.
когда запрос исполняется ХХ секунд, то проблема в запросе. нужно включить в настройках mysql запись slow_query_log и поработать над оптимизацией конкретных запросов. а в топе будет висеть среда исполнения - php, apache или что там является процессом для вебсервера.
когда запрос исполняется ХХ секунд, то проблема в запросе. нужно включить в настройках mysql запись slow_query_log и поработать над оптимизацией конкретных запросов. а в топе будет висеть среда исполнения - php, apache или что там является процессом для вебсервера.
Тут двояко, может гадость и в кроне сидеть или при каждом посетителе выполнятся.
Тут двояко, может гадость и в кроне сидеть или при каждом посетителе выполнятся.
рецепт универсальный - slow_query_log даст список тормозных запросов, а по нему и станет сразу понятно кто, на какой схеме(базе), что и по какому поводу пытается делать. скорее всего всё элементарно решится созданием индекса.
В общем-то такая ситуация случилась 3 раз за неполные 2 месяца.
Последний раз было из-за того, что пользователь на wp запустил парсер FeedWordPress (с 90 источников для парсинга), за что был отшлепан.
Найти и отключить такого пользователя, а затем провести разъяснительную беседу не проблема. Но хотелось бы, чтобы это было автоматизированно.
Предложение netwind заманчиво. Но насколько оно поможет в этой ситуации?
кривой скрипт, который создает огромное кол-во запросов к БД. В следствии чего сервер виснет.
max_user_connections=30
Не помогает.
И не поможет, запросы, выполняемые в одном скрипте, как правило, идут в рамках одного коннекта к базе. Вроде есть какие-то настройки (сорри, сейчас не до копания в доках, поэтому конкретнее не скажу), которые позволяют на каждый запрос открывать свой коннект, тогда ограничение на max_user_connections сработает так как нужно ТС, но при этом начнутся большие тормоза при работе с базой (установка коннекта - гораздо более медленная операция, чем "легкий" селект в рамках уже открытого коннекта).
Нужно использовать скрипт отстреливающий длинные запросы на выборку
Да, видимо надо идти в этом направлении, только, насколько я понял, у ТС проблема не в "тяжести" запросов, а в огромном количестве мелких (что и надо будет отслеживать скриптом).
Предложение netwind заманчиво. Но насколько оно поможет в этой ситуации?
Не поможет. Так как парсинг - это прежде всего запись в базу, а он предлагает чтение лимитировать.
С другой стороны - у меня есть варианты автоматизации отслеживания нагрузки, но без ее ограничения. Если интересно - обращайтесь.
С другой стороны - у меня есть варианты автоматизации отслеживания нагрузки, но без ее ограничения. Если интересно - обращайтесь.
Начинается. Опять сикретики.
Или пользователь завалит сервер или его скрипты перестанут выполняться.
Не поможет. Так как парсинг - это прежде всего запись в базу, а он предлагает чтение лимитировать.
Логично размышляете в рамках ранее озвученного. Но ведь можно рассчитывать ресурсы и другими методами. Разве взрослые люди не договорятся?
netwind, не сикретики, а скриптики.