doseng 6 Опубликовано: 20 августа 2007 Рассказать Опубликовано: 20 августа 2007 Доброго времени суток! Получил сегодня письмо от тех поддержки,цитирую : У Ваших скриптов явно какие-то проблемы в работе с 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% процессорного времени. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 21 августа 2007 Рассказать Опубликовано: 21 августа 2007 Doseng, закройте принудительно в index.php после $tpl->global_clear(); добавьте строчку $db->close(); но я уверен почти на 90% это не решит проблемы, при этом вы принудительно будете закрывать БД Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 21 августа 2007 Рассказать Опубликовано: 21 августа 2007 Автор а что тогда может решить эту проблему? Ведь сидеть на выделенном сервере про 4000 посещаемости и создавать на него нагрузку это не есть гуд Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 21 августа 2007 Рассказать Опубликовано: 21 августа 2007 а что тогда может решить эту проблему? ваш хостер сказал что вы должны принудительно закрывать БД, чтобы решить проблему. Я дал вам код который закрывает принудительно БД. Если верить вашему хостеру проблема будет решена, я лично другого мнения, так что попробуйте и скажите нам была ли решена проблема или нет, ведь необязательно что я прав на 100% я могу ошибаться. Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 21 августа 2007 Рассказать Опубликовано: 21 августа 2007 Автор Спасибо за разъяснения!Сейчас попробую,о последствиях обязательно отпишусь... Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 (изменено) Автор Как и обещал,пишу о последствиях После принудительного закрытия БД вроде бы всё хорошо... Сразу появилась другая проблема,с нагрузкой картинками. Решили эту проблему Nginx-ом.На данный момент наблюдаем как он себя поведёт. Для клиентов - Если на сайте хоститься очень много картинок и Apache не оптимизирован под раздачу статики, лучший выбор - Nginx. Изменено 25 августа 2007 пользователем Doseng Цитата Ссылка на сообщение Поделиться на других сайтах
kosen 3 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 Для клиентов - Если на сайте хоститься очень много картинок и Apache не оптимизирован под раздачу статики, лучший выбор - Nginx. Что это за зверь такой? Можно поподробнее... ЗЫ О результатах все равно потом отпишись дополнительно... Цитата Ссылка на сообщение Поделиться на других сайтах
lifestar 18 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 kosen, вам проще и быстрее в яндексе посмотреть Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 (изменено) Автор Только что это хотел написать... Изменено 25 августа 2007 пользователем Doseng Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 После принудительного закрытия БД вроде бы всё хорошо... Добро 6.2 будет закрывать везьде. Включая и AJAX Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 25 августа 2007 Рассказать Опубликовано: 25 августа 2007 Автор После принудительного закрытия БД вроде бы всё хорошо... Добро 6.2 будет закрывать везьде. Включая и AJAX Отлично. Я извиняюсь за любопытство,но можно поинтересоваться на когда примерно запланирован выход DataLife Engine v.6.2? Цитата Ссылка на сообщение Поделиться на других сайтах
sk-soft 0 Опубликовано: 28 августа 2007 Рассказать Опубликовано: 28 августа 2007 уже вышла 6.2 Цитата Ссылка на сообщение Поделиться на других сайтах
doseng 6 Опубликовано: 28 августа 2007 Рассказать Опубликовано: 28 августа 2007 Автор уже вышла 6.2 Спасибо,я заметил. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.