1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите SQL 'Connection' вызывает лаги и скачки памяти. Также отключение занимает много времени.

Тема в разделе "Разработка плагинов для новичков", создана пользователем Абсик, 24 май 2021.

  1. Автор темы
    Абсик

    Абсик Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Всем привет!

    Столкнулся с проблемой, когда проводил тесты базы данных под нагрузками.

    В общем, у меня есть SQL подключение. Я начинаю делать кучу запросов в базу (Примерно по 1к в секунду), всё нормально работает, но, когда я делаю определённое кол-во запросов (Около 80.000) память сервера начинает загружаться прыжками к отметке в 100%. Даже если я останавливаю запросы - прыжки памяти прекращаются, но как только я снова начинаю делать 1к запросов в секунду - моментально происходит скачок памяти, и у меня зависает не то, что сервер, а целый комп, как будто.

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

    После переподключения я снова могу делать 1к запросов в секунду без лагов, но опять же, до поры пока не сделаю около 80к запросов.

    ! Все запросы на чтение данных.

    2.png

    Код который я использую:
    1.png

    3png.png
     
  2. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    PreparedStatement-ы и ResultSet-ы нужно закрывать.
    проще всего делать через try-with-resources
    https://stackoverflow.com/a/8066594
    если бы скинул код текстом а не скриншотами я бы даже поправил как надо, но надеюсь сам справишься)
    не факт что твоя проблема из-за этого, но вполне вероятно. закрывая коннект ты как раз закрываешь и все что с ним связано
     
  3. Автор темы
    Абсик

    Абсик Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Abcik
    Да, помогло, спасибо!
     

Поделиться этой страницей