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

проблемы в работе с 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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗЫ

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

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

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

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

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

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

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

  celsoft писал:

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

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

Отлично.

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

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

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

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

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

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

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

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

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

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

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