Forum Webscript.Ru

Общие => Базы данных => Тема начата: Ray Adams от 23 Апреля 2002, 14:16:12

Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 23 Апреля 2002, 14:16:12
Вопрос для меня стал очень насущный. Сможет ли mySQL спокойно вытягивать 16 одновременный подсоединений и по 80 запросов в минуту? Ну цифры грубые я понимаю, но все же?
Проблемма в том что старый провайдер говорил что мой сайт убивал их mySQL на что я конечно отвечал, не верю! :) Если кто слышал про сайт NVIDIA BIOS COllection, это он и есть. Уже больше месяца переезжаю на нового прова. Так там вообще прикол получился, вот цитата из письма:
---------
Пользователь MySQL "xdgames" систематически перегружает сервер SQL-запросами.
В результате этих действий прекращается нормальная работоспособность
всех клиентов  БД, а также отдельных сервисов сервера.
По собранной статистике за период 16:00-17:00 22.04 пользователь
xdgames произвёл  около 1000 подключений и 50000 запросов, что
несколько раз  приводило к необходимости ручной перезагрузки сервиса.

При таком интенсивном использовании (~16 подключений и 80 запросов в
минуту) необходим отдельный сервер БД.
Название: Продолжение... в одном не поместилось
Отправлено: Ray Adams от 23 Апреля 2002, 14:16:39
-------
Интересно 8-) Ну допустим пользователи умудрились в один час так подключиться! Хотя я еще не обьявлял о том что сайт пеехал или вернее не говорил что он уже работает. Так кому верить? Я лично свой сайт на новом сервере в запущенном виде не видел ни разу. На сайте стоит PHP Nuke, я знаю что он написан не очень хорошо! Но я его сильно перелопатил, гшде мог делал отчистку после запросов, но мож я не прав? И при 4000-5000 хостов в день Nuke просто убивает mySQL??? Но ведь есть же сайты у которых и по 45000-50000 хостов в день и тоже на mySQL, у них что таких проблем нету?
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: AliMamed от 23 Апреля 2002, 18:50:07
скорее всего проблема в неоптимальном использовании скриптом базы

попробуй посчитать количество запросов / подключений, которые делает скрипт для стандартных операций
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Dm от 23 Апреля 2002, 21:53:42
Spylog использует MySQL, кстати. Думаю, нагрузка у них побольше. ;)

все зависит от коэффициента кривизны запросов и железа сервера.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 23 Апреля 2002, 22:15:01
Насчет кривизны запросов не знаю. Я многие оптимизировал. А вот железо 8-) тут я не очень в курсе но там хостатся очень крутые сайты так что думаю что с этим все должно быть нормально. Ну буду копать дальше. Проблма пока что в том , что сайт так и не получается запустить. Его вырубают сразу как только он приходит в себя :(
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Dm от 23 Апреля 2002, 22:43:15
Цитировать
хостатся очень крутые сайты так что думаю что с этим все должно быть нормально

не всегда. нужно точно уточнить.

реально, подсчитай кол-во запросов, как посоветовал Али.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 24 Апреля 2002, 00:22:29
Dm
Цитировать
Spylog использует MySQL

Немного не в тему, но все-таки: всегда удивлялся, откуда люди берут информацию относительно используемой на чужом сайте СУБД. У самого три версии:
1) утечка/несокрытие инфомации (не обсуждается);
2) хостишся "рядом", отлично знаешь хостера и, возможно, соседей;
3) иногда можно строить предположения по каким-то косвенным признакам (особенности работы самого сайта).
Может уточните или расширите список?
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Dm от 24 Апреля 2002, 01:26:15
YA
дело в том, что это официальные сведения.

а вообще, узнается эта инфа обычно лично у админов или др. сотрудников.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 24 Апреля 2002, 08:56:40
Dm
Ну в данном случае понятно. Просто я сталкивался со случаями, когда такая информация админами скрывалась.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 12:36:49
Так вот теперь малость дополнение. Сайт мой заработал, но опять не надолго 8-)) Но я успел его увидеть. Не прошло и пяти минут как он отключился. Вернее видно что не пашет мускул. Решил я всетаки проверить какая нагрузка идет. Копия сайта у меня локально сидит. Запустил WinMysqlAdmin там есть статистика. Вот что она мне показала, при открытии главной страницы происджоит около 200 запросов., но поток открыт один! НЕужели у них там 386 что не справляется с такими запросами??? Тем более что из 200 запросов подавляющее большинсвто это запросы типа select count(*) from. ???
Сколько я не пытался убить мускул на моей машине, ничего не вышло 8-) А у меня стоит простая тачка с P3 733, и 256 рамы
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 24 Апреля 2002, 12:48:15
Цитировать
Вот что она мне показала, при открытии главной страницы происджоит около 200 запросов


Одна страница 200 запросов ? По-моему это ОЧЕНЬ много.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 13:04:43
Ну а что делать??? Информации много и 100% вытягивается из базы. Оптимизировать мождно только сами запросы но не колличесвто
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Chs от 24 Апреля 2002, 13:13:01
Цитировать
Ну а что делать??? Информации много и 100% вытягивается из базы. Оптимизировать мождно только сами запросы но не колличесвто

Почему? Оптимизация количества запросов - вполне нормальная задача.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 13:22:36
Да я не про то 8-)
Уменьшит кол-во врядли получиться так как каждый запрос делает свою работу и по другому ее не сделаеш.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Chs от 24 Апреля 2002, 14:22:09
Цитировать
Уменьшит кол-во врядли получиться так как каждый запрос делает свою работу и по другому ее не сделаеш.

А здесь, батенька, вы скорее всего не правы....:))
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 14:44:29
Может быть :)
Просто те запросы что я смог понять черпают данные которые в одном запросе не вытащиш. mySQL не InterBase и тем более не MS-SQL. ИСпользуем то что под рукой. Вдобавок на PHPNuke сидит очень много сайтов у которых посещений в два раза больше и у них все ок!
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 24 Апреля 2002, 14:48:37
Цитировать
Вдобавок на PHPNuke сидит очень много сайтов у которых посещений в два раза больше и у них все ок!


Насколько я знаю, многие очень сильно оптимизируют его.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 15:10:30
Чем я и занимаюсь по сей день!
Вот только что вышел на сайт и полуил Too many connections. Помейлу мне сказали что там отведено не долее 300 соединений для одного сайта. Значить реально в один и тот же момент подключается более 300, да уж 8-((. Прям хоть стой хоть плакай :)
Старый пров хотябы два раза в месяц накрывался а новый такой крутой а вот в течении дня два раза накрылся :(.

P.S. Может все таки крутось провайдера не в обеспечении нормальной работы 1000 сайтов за счет урезания конектов? А именно в том что любой сайт может пахать не зависимо от нагрузки? - хотя эти мысли уже в другой форум
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: FILA от 24 Апреля 2002, 15:13:50
Одна страница 200 запросов ? По-моему это ОЧЕНЬ много.
Совершенно верное замечание
у меня самого было аж 370 ! запросов, и я их всех свёл в 2 (!), немного изменив структуру таблиц самой базы....
ИМХо, Ray Adams , в твоём случае, вероятно, тоже можно кол-во запрсов сократить
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 24 Апреля 2002, 15:55:18
Цитировать
А именно в том что любой сайт может пахать не зависимо от нагрузки? - хотя эти мысли уже в другой форум


... и по другой цене.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 16:03:16
NAS
Ну у меня тоже не бесплатный
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 24 Апреля 2002, 16:06:39
NAS
Ну у меня тоже не бесплатный хостинг :)
FILA
Идея конечно хорошая но тут приждеться менять настолько глобально, что боюсь легче будет написать сайт с нуля. Но все равно 300 запросов ни как не уложиш в два!!! Вот к примеру, на главной странице выводиться список новосте до 15 штук, один запрос.
Дальше при выводе каждой новости идет не менее 5 заспросов, на проверку имеет ли новоть продолжение, сколько раз ее читали, сколько коментариев есть,и еще что-то, уже 15*5 = 75!!! А там еще слева и справа столбики выводятся где тоже куча информации, как интересно можно связать такие разные вещи как новости и голосование? Или как одним запросом вытащить список всех новоесте и кол-во коментариве к ним? mySQL не поддерживает вложенных запросов к сожалению
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Chs от 24 Апреля 2002, 16:30:42
Цитировать
mySQL не поддерживает вложенных запросов к сожалению

Зато в доке к нему англицким по бэкграунду написано как можно обойтись без вложенных запросов.
Т.е. преобразовать select так, что бы он стал не вложенным.:))
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 24 Апреля 2002, 17:42:53
Ray Adams
Цитировать
боюсь легче будет написать сайт с нуля

Не в обиду, но это - самая ценная мысль в этом топике. ;)
ИМХО не надо использовать на своем сайте чужие программы, если до конца не понимаешь как они работают (это только мое мнение).
Цитировать
Дальше при выводе каждой новости идет не менее 5 заспросов, на проверку имеет ли новоть продолжение, сколько раз ее читали, сколько коментариев есть,и еще что-то, уже 15*5 = 75!!!

Не очень корректный подсчет количества запросов...
Выбирается 15 записей из первой таблицы - один запрос. Далее для каждой из этих записей выбираются записи из, допустим, 5-ти связанных таблиц: 1+5+какой-то коэф., а на 15 умножать не надо, т.к. здесь должно использоваться связывание. Ну это, конечно, если код не совсем кривой.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Ray Adams от 25 Апреля 2002, 08:29:32
YA
Начал писать свой сайт :( :( Времени нету, а надо. Не тянет новый пров мой сайт. Умирает каждый день 8-((
Прям не знаю что и делать. Такой нагрузки просто не бывает, мож кто ломает сайт???
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: bhor от 25 Апреля 2002, 11:17:20
Цитировать
Вот к примеру, на главной странице выводиться список новосте до 15 штук, один запрос.
Дальше при выводе каждой новости идет не менее 5 заспросов, на проверку имеет ли новоть продолжение, сколько раз ее читали, сколько коментариев есть,и еще что-то, уже 15*5 = 75!!!

можно в таблицу с новостями добавить столбцы с
Цитировать
новоть продолжение, сколько раз ее читали, сколько коментариев есть,и еще что-то,

и при записи новости будут обнавлятся эти столбцы.
соответственно количество запорсов уменьшится до 1штуки
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: Daiz13 от 25 Апреля 2002, 11:53:33
Ray Adams
Можно попробовать при вводе новости генерировать html для главной страницы и при заходе на страницу показывать его, а не считывать каждый раз все новости из базы.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 25 Апреля 2002, 17:09:05
Цитировать
Можно попробовать при вводе новости генерировать html для главной страницы и при заходе на страницу показывать его, а не считывать каждый раз все новости из базы.

А вот это я бы не советовал. Это совершенно тупиковая ветвь эволюции :) Если представление новостей нужно будет изменить, то что делать с этими html? Короче, стирает это многие прелести использования СУБД.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 25 Апреля 2002, 18:21:19
Цитировать
А вот это я бы не советовал. Это совершенно тупиковая ветвь эволюции  Если представление новостей нужно будет изменить, то что делать с этими html? Короче, стирает это многие прелести использования СУБД.


Эта самая правильная ветвь.
Взять да и перегенерировать хтмл страницы. Кстати так работают все сайты компьютеры, да и санитариум по такому принципу построен.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 25 Апреля 2002, 18:57:15
NAS
Может я чего не понял... Где предполагается хранить эти хтмл, в БД или сразу записывать в html-файлы?
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NeoNox от 25 Апреля 2002, 18:58:23
Цитировать
Короче, стирает это многие прелести использования СУБД.

...и снимает лишнюю нагрузку с сервера :)
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 25 Апреля 2002, 18:58:40
html хранится там где и всегда, а информация в БД и при необходимости эти html перегенрируются по шаблону беря информацию из БД.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 25 Апреля 2002, 19:16:15
Ну это вроде бы логично. Daiz13 приношу извинения, я не совсем правильно понял об чем речь.
Видимо такой подход стоит применять в отношении только самых критичных (в отношении количества запросов) страниц. Ведь бывают случаи, когда на сайте генерируются тысячи и десятки тысяч страниц по самым разнообразным алгоритмам и шаблонам и при этом данные в БД также активно изменяется. В этом случае критичной может стать уже "перегенерация" страниц при изменениях в БД.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NeoNox от 25 Апреля 2002, 19:32:19
Цитировать
В этом случае критичной может стать уже "перегенерация" страниц при изменениях в БД.

Есть такая буква, но это "пиковая" нагрузка (единичная) а не постоянная. В этом весь смысл. Ну и еще логика тоже очень важна. Можно не перегенерировать все, а только последние данные, например для новостей-только все новости за сегодня...
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: YA от 25 Апреля 2002, 21:15:33
NAS, NeoNox, в общем, принципиальных различий в моей и вашей позиции я не вижу, т.к. все зависит от конкретного ресурса и, соответственно, универсалных рецептов в таких вопросах не бывает.
Название: mySQL сколько сможет вытянуть по нагрузке??
Отправлено: NAS от 25 Апреля 2002, 23:48:04
Шаблоны конечно.