Нужна помощь в настройке сервера БД

Задание закрыто
Стоимость:Договорная
Срок выполнения:2 дня
Варианты оплаты:По договоренности
Дата публикации:2025-05-23 03:57
Был(а) на сайте:2025-12-06 12:22

Нужна помощь в настройке сервера БД

 
Задача

Здравствуйте!
Имеем небольшой проект на Symfony 7.2, в последние 2 недели сервер начал отказывать с ошибкой "ERROR 1040 (08004): Too many connections". Спасает только аппаратная перегрузка.

Ищу помощь в решении этого вопроса. Пришлите ваши условия/цены.

Оставлять заявки могут только авторизованные пользователи.
Сергей
Основная специализация: ИТ и Разработка
    Привет. Решу проблему, для работы потребуется доступ к серверу по ssh и доступ к базе. Оплата по факту выполнения.
    Вот план действий для диагностики и устранения причины «Too many connections» на MySQL/MariaDB и рекомендации по настройке сервера и приложения Symfony:

    ---

    ## 1. Диагностика текущего состояния

    1. **Сколько соединений сейчас используется**

    ```sql
    SHOW STATUS WHERE Variable_name = 'Threads_connected';
    SHOW PROCESSLIST;
    ```

    Это покажет, сколько активных соединений и кто их держит (их состояние — SLEEP, Query и т.д.).

    2. **Текущее ограничение на соединения**

    ```sql
    SHOW VARIABLES LIKE 'max_connections';
    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'interactive_timeout';
    SHOW VARIABLES LIKE 'thread_cache_size';
    ```

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

    ---

    ## 2. Настройка MySQL/MariaDB

    1. **Увеличить `max_connections`**
    В конфиге `/etc/mysql/my.cnf` (или в отдельном файле в `/etc/mysql/conf.d/`) под секцией `[mysqld]`:

    ```ini
    [mysqld]
    max_connections = 300
    thread_cache_size = 100
    ```

    — Значение подберите, исходя из пикового числа соединений + небольшой запас.

    2. **Уменьшить время ожидания неактивных соединений**
    Часто большое число «спящих» соединений остаётся висеть, пока клиент не закроет их.

    ```ini
    [mysqld]
    wait_timeout = 60
    interactive_timeout = 60
    ```

    — Тогда неактивные соединения будут автоматически закрываться через 60 с простоя.

    3. **Перезагрузить сервер**

    ```bash
    sudo systemctl restart mysql
    # или
    sudo service mariadb restart
    ```

    4. **Мониторинг**
    Периодически (cron или вручную) запускайте:

    ```sql
    SHOW STATUS WHERE Variable_name IN ('Threads_connected','Connections');
    SHOW PROCESSLIST LIMIT 20;
    ```

    Это поможет отслеживать всплески соединений и вовремя реагировать.

    ---
    ---
    Александр Энд
    Основная специализация: Веб-разработка и Продуктовый дизайн
      Чтобы что-то предложить - нужно диагностировать сервер - все доступы вплоть до хостинга и время - день
      Решу ошибку ERROR 1040: Too many connections, оптимизирую MySQL и конфигурацию сервера под Symfony 7.2. Быстро найду и устраню причину, предложу устойчивое решение.

      Была ли нагрузка выше обычной перед сбоем?

      Telegram: Можем перейти для оперативности https://t.me/snik550950
      Добрый день. Постараюсь Вам помочь в решении проблем. Мой skype= tsyuha, telegram=@tsyuha, e-mail= tsyuha@mail.ru. Обращайтесь, всегда рад помочь!
      Основная специализация: ИТ и Разработка
      пишите.

      пробегусь по логам. если дело не во внешнем воздействии (боты), то скорей всего "проект" этот ваш открывает и не закрывает соединения.
      найду какие именно процессы висят, после каких sql запросов и потом где в скриптах они вызывались.
      даже если по какой-то причине не поправить сам проект, то всегда можно "прикостылить" по крону закрытие всех висящих.
      ну и max connections в конфиге базы тоже если надо можно приподнять.
      Артём Синюта
      Основная специализация: Веб-разработка и Продуктовый дизайн
        Добрый день!
        Меня зовут Артём, и я занимаюсь разработкой сайтов с акцентом на качество и эффективность. Специализируюсь на создании веб-решений, которые помогают бизнесу достигать своих целей.

        Почему стоит выбрать меня?
        - Применяю только современные технологии и лучшие практики.
        - Работаю по договору (ИП), гарантирую прозрачность и соблюдение сроков.
        - Предлагаю индивидуальный подход к каждому проекту.
        - Понимаю, как важно создать не просто сайт, а инструмент для развития бизнеса.

        Мои услуги:
        - Создание сайтов под ключ (от лендингов до интернет-магазинов и порталов).
        - Адаптивная верстка и оптимизация.
        - Интеграция с CRM, 1С и маркетплейсами.
        - Поддержка и доработка сайтов после запуска.

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

        Крайние проекты:
        https://houseofthesoul.ru - портал онлайн университета
        https://nakarte.com - ваш надежный партнер в мире стартапов
        https://moshka.ru - международная онлайн школа контента
        https://enco.house - система умного дома, корпоративный сайт
        https://woodapp.ru - интернет-магазин, по продаже акустический панелей
        https://waterportal.ru - каталог оборудования промышленной водоочистки
        https://inflowing.ru - Пространство души и тела
        https://goweb.pro - возможно что-то интересное
        Здравствуйте, готов помочь в вашем вопросе. Буду курировать проблему до ее решения, пока работа не сделана и не останетесь полностью удовлетворены: никакой оплаты. Уже есть определенные наработки (6 понятных этапов) так что жду вашего ответа!
        мой телеграмм: @nonet_fd

        Оставлять заявки могут только авторизованные пользователи.