Ограничение количества подключений

agx

Программер :-)
Ограничение количества подключений

Доброго времени суток! :)
Чем практически огранично максимальное количество одновременно открытых подключений к MySQL, и вообще, есть ли такое ограничение? Тоесть, я знаю, что можно задать значение переменной max_connections, но есть ли какие-то ограничения на максимальное ее значение?
К примеру, если мне требуется обеспечить возможность одновременной установки 1000-и подключений, это возможно? MySQL такое потянет?
Тема звучит малость глуповато, наверное, но все же... заранее спасибо!
 

alpine

Новичок
agx
Максимальное число соединений MySQL зависит от того, насколько хорошей является библиотека потоков на данной платформе. Linux или Solaris должны быть в состоянии поддерживать 500-1000 одновременных соединений, в зависимости от количества имеющейся памяти и того, чем занимаются клиенты.
 

agx

Программер :-)
alpine
Сервер работает под windows 2003 server...
Тоесть, нужно проверять на практике, как я понял? Может, есть какие-то утилиты для тестирования?
 

alpine

Новичок
agx
У тебя mysql работает отдельно или в связке с (apache | IIS)?
 

Апельсин

Оранжевое создание
> если мне требуется обеспечить возможность одновременной установки 1000-и подключений, это возможно?

да, но это в большей степени зависит от лимитов твоей системы, железа.
 

agx

Программер :-)
alpine
В связке с Apache 1.2

-~{}~ 06.12.05 13:16:

Апельсин
А что произойдет, если производительности железа не хватит? Будут возникать ошибки подключения, или все просто будет работать медленно? Или вообще будет нестабильно работать?
 

alpine

Новичок
agx
Тебе нужно тестировать не базу а вообще всю связку apache+php+mysql на ожидаемую максимальную нагрузку и почему ты уперся в mysql и и количество подключений я не понимаю. imho
 

agx

Программер :-)
alpine
Просто проблема возникла с одним форумом: при количестве одновременно вошедших посетителей в районе 700 человек (предположительно использовались постоянные подключения) MySQL выдавал ошибку связи. Те товарищи вышли из положения, перейдя на Постгрей. Вот я и подумал, неужели средствами MySQL нельзя было решить эту проблему?

Так или иначе, всем спасибо! :)
 

alpine

Новичок
agx
Ну так так и спрашивай, а то компостируешь мозги.
 

Апельсин

Оранжевое создание
> А что произойдет, если производительности железа не хватит?

на 32-битной машине где на процесс у вас не больше 2GB памяти у вас 1000 одновременных соединений в принципе жить нормально не смогут, т.к. каждому соединению будет нужен определенный объем + та память которая выделяется при старте на все потоки.
Ну т.е. если к этим 1000 открытым соединениям предполагается еще и какая-то нагрузка, то вероятность выйти за пределы этих 2GB совсем не нулевая.
 

agx

Программер :-)
Апельсин
Спасибо за информацию.
Думаю, нужно просто грамотне организовывать взаимодействие с сервером MySQL, своевременно закрывая созданные соединения так, чтобы обходиться максимум двумя-тремя сотнями одновременно существующих соединений при пике посещаемости.
 

Ive

Guest
Всем здравствуйте.
AGX не совсем верно описал проблему. На сервере стоит не Win2003, а FreeBSD. Это первое. Второе - проблема была именно в подключении к базе. После перехода на Постгрей такая проблема отпала, несмотря на то, что железо не меняли и форум поставили более "тяжеловесный" (PunBB, версию уже не помню , но одна из последних) чем был в том плане, что запросов он выполняет намного больше+форум был очень "конкретно" доработан и добавлена целая куча своих модулей. Так в чем была все-таки проблема - никто понять не мог.
 

agx

Программер :-)
Ive
Я могу предположить, в чем проблема: ИМХО для каждого вошедшего пользователя устанавливалось свое постоянное соединение. Зашло на форум 700 человек, вот MySQL и выдает connection error. Думаю, нужно использовать обычные (не постоянные) соединения, и не забывать закрывать их после выполнения запроса (запросов). Тоесть, обработку сценария начинать с mysql_conect(), а завершать mysql_close(). Думаю, очень не велика вероятность того, что одновремено те 700 человек, что сидят на форуме, попытаются что-то запросить с сервера, так что количество подключений ограничится 50-70-ю шт.
 
Сверху