Перейти к публикации

проблемы в работе с MySQL


Рекомендованные сообщения

Доброго времени суток!

Получил сегодня письмо от тех поддержки,цитирую :

У Ваших скриптов явно какие-то проблемы в работе с MySQL. Проверьте, все ли соединения с базой вовремя закрываются, потому что у Вас постоянно висит с десяток соединений с базой в состоянии Sleep, из-за чего MySQL начинает использовать лишние такты процессора на обслуживание этих «мёртвых» соединений.

С недавнего времени переехали на выделенный сервер,думали избавимся от нагрузок MySQL,но видимо напрасно надеялись.На данный момент посещаемость сайта в общей сложности составляет 3000-4000 посетителей в сутки.

Вопрос к "celsoft" как с этим бороться?Какие ещё нужны данные для точного определения причины нагрузки MySQL?

Я процитировал ваш ответ из похожей темы http://forum.dle-news.ru/index.php?showtop...74&hl=MySQL тех.поддержке нашего сервера,вот их ответ именно на этот пост : Сообщение #69

celsoft

С чего вы взяли что скрипт уже выполнился, обращение к базе всегда идет от одного имени у всех пользователей, так что это могут быть незавершенные процессы других посетителей. Также в скрипте не может быть что то не так по поводу закрытия базы данных, т.к. закрытие базы после завершения скрипта это спецификация и обязанность PHP, поэтому если PHP не закрывает, значит это проблема в версии используемого PHP http://de2.php.net/manual/ru/function.mysql-close.php

Ответ:

PHP закрывает соединения и файлы только в том случае, если пользователь корректно закрыл сокет и форк httpd корректно завершился. В реальном мире у пользователей часто очень плохие каналы, и часть последовательности, завершающей соединение может потеряться где-то на транзите, из-за чего форк httpd продолжает висеть (часто как defunct) и, конечно же, mod_php не закрывает ни соединения, ни файловые дескрипторы. В некоторых ситуациях это может повлечь повреждение файлов, в которые производилась запись. Как бы то ни было, проблема именно в незакрытых соединениях с MySQL. Когда я заходил на сервер последний раз, LA был в районе 10, а MySQL «съедала» по 30-40% процессорного времени.

Ссылка на сообщение
Поделиться на других сайтах

Doseng,

закройте принудительно в index.php после

$tpl->global_clear();

добавьте строчку

$db->close();

но я уверен почти на 90% это не решит проблемы, при этом вы принудительно будете закрывать БД

Ссылка на сообщение
Поделиться на других сайтах

а что тогда может решить эту проблему?

Ведь сидеть на выделенном сервере про 4000 посещаемости и создавать на него нагрузку это не есть гуд :mellow:

Ссылка на сообщение
Поделиться на других сайтах

а что тогда может решить эту проблему?

ваш хостер сказал что вы должны принудительно закрывать БД, чтобы решить проблему. Я дал вам код который закрывает принудительно БД. Если верить вашему хостеру проблема будет решена, я лично другого мнения, так что попробуйте и скажите нам была ли решена проблема или нет, ведь необязательно что я прав на 100% я могу ошибаться.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо за разъяснения!Сейчас попробую,о последствиях обязательно отпишусь...

Ссылка на сообщение
Поделиться на других сайтах

Как и обещал,пишу о последствиях ;)

После принудительного закрытия БД вроде бы всё хорошо...

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

Решили эту проблему Nginx-ом.На данный момент наблюдаем как он себя поведёт.

Для клиентов - Если на сайте хоститься очень много картинок и Apache не оптимизирован под раздачу статики, лучший выбор - Nginx.

Изменено пользователем Doseng
Ссылка на сообщение
Поделиться на других сайтах

Для клиентов - Если на сайте хоститься очень много картинок и Apache не оптимизирован под раздачу статики, лучший выбор - Nginx.

Что это за зверь такой?

Можно поподробнее...

ЗЫ

О результатах все равно потом отпишись дополнительно...

Ссылка на сообщение
Поделиться на других сайтах

Только что это хотел написать...

Изменено пользователем Doseng
Ссылка на сообщение
Поделиться на других сайтах

После принудительного закрытия БД вроде бы всё хорошо...

Добро 6.2 будет закрывать везьде. Включая и AJAX

Ссылка на сообщение
Поделиться на других сайтах

После принудительного закрытия БД вроде бы всё хорошо...

Добро 6.2 будет закрывать везьде. Включая и AJAX

Отлично.

Я извиняюсь за любопытство,но можно поинтересоваться на когда примерно запланирован выход DataLife Engine v.6.2?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...