1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Проблема с закрытием сессии обращения к БД

Тема в разделе "Для новичков", создана пользователем serene, 25.01.2012.

Загрузка
  1. serene

    serene Местный

    Регистрация:
    14.01.12
    Сообщения:
    7
    Симпатии:
    1
    Версия XF:
    1.1.1
    При обращении в базе данных после получения данных из нее Ваш движок не закрывает соединение с базой и оно висит в ожидании ввода. Поскольку у хостера общий сервер для всех баз данных, не закрытые сессии перегружают сервер баз данных. Мне сказали, что необходимо проверить скрипты обращения к базе данных и подкоректировать их, чтобы обращения закрывались корректно.

    Подскажите, что делать?

    Спасибо заранее
     
  2. carliker

    carliker Местный

    Регистрация:
    03.10.11
    Сообщения:
    274
    Симпатии:
    114
    Версия XF:
    1.1.1
    А какой хостер если не секрет?
     
  3. serene

    serene Местный

    Регистрация:
    14.01.12
    Сообщения:
    7
    Симпатии:
    1
    Версия XF:
    1.1.1
    не дорогой :) bitte.com.ua/
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 163
    Версия XF:
    1.0.4
    Во первых очень похоже на то, что хостер говорит бред. Пхп+мускуль надо принудительно заставлять сохранять соединение с базой после завершения работы скрипта (т.е. по умолчанию постоянные соединения), что ксенфоро однозначно не делает. Может это делает какой-то хак - не знаю, но я таких не встречал. По умолчанию - скрипт завершил работу - автоматически разорвалось соединение с БД.

    Но все конечно зависит от настроек сервера, т.е. в данном случае от настроек хостинга. Я не говорю что с хостингом что-то не так, просто на это очень похоже. Чтобы сказать что-то более конкретное - слишком мало информации.
     
  5. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ни разу еще не попадалось решений, позволяющих сохранять соединение с базой данных между вызовами разных PHP скриптов. Дескриптор соединения всегда другой. Т.е. расширение mysqli.so в принципе не в состоянии сохранить дескриптор соединения, заморозить сессию, а затем отдать тот же дескриптор следующему скрипту. Допустим, это будет иметь место быть. Но в таком случае обеспечить безопасность на сервере будет практически нереально. Ведь чисто случайно скрипт может использовать дескриптор другого скрипта.
    Так что это бред.
     
  6. serene

    serene Местный

    Регистрация:
    14.01.12
    Сообщения:
    7
    Симпатии:
    1
    Версия XF:
    1.1.1
    Вот что мне прислал Хост, когда сообщил о проблемме.

    4767988 DELAYED localhost UltrasHool 8 Delaye Waiting for INSER
    4768822 DELAYED localhost UltrasHool 11 Delaye Waiting for INSER
    4769742 DELAYED localhost UltrasHool 48 Delaye Waiting for INSER
    4778427 DELAYED localhost UltrasHool 7 Delaye Waiting for INSERT
    4778429 DELAYED localhost UltrasHool 7 Delaye Waiting for INSERT

    Возможно это будет полезным.
     
  7. Pepelac

    Pepelac Продам луц в бутылках

    Регистрация:
    28.09.10
    Сообщения:
    1 794
    Симпатии:
    1 361
    Админка - настройки - производительность - снять галочку с "Включить механизм отложенной вставки для SQL запросов"
     
  8. serene

    serene Местный

    Регистрация:
    14.01.12
    Сообщения:
    7
    Симпатии:
    1
    Версия XF:
    1.1.1
    огромнейшее спасибо:)
     

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