Как поддерживать много запросов SQL в Интернете одновременно? - PullRequest
2 голосов
/ 01 сентября 2010

Вопрос в том, есть ли у меня где-нибудь веб-страница.Внутренняя среда поддерживается LAMP.Например: всякий раз, когда пользователь открывает новую страницу, он создает новое соединение mysql с сервером базы данных MySQL и выполняет соответствующий запрос.Все мы знаем, что MySQL имеет ограничение max_connection (100 для версии <5.1 по умолчанию).</p>

Конечно, мы можем увеличить число max_connection mysql.Кроме того, я хотел бы знать, есть ли какие-то существующие способы (надеюсь, не слишком сложные) для поддержки многих (скажем, около 30 000-40 000) пользователей одновременно.Любые статьи или ссылки будут оценены!

Ответы [ 2 ]

1 голос
/ 01 сентября 2010

Независимо от запросов SQL ваш веб-сервер не может обрабатывать от 30000 до 40000 одновременных запросов. Не путайте количество пользователей с количеством одновременных запросов.

Если у вас действительно есть столько одновременных запросов, вам нужно будет направлять веб-трафик на множество серверов в нескольких центрах обработки данных, которые географически распределены. Это не имеет ничего общего с PHP или SQL - вы даже не сможете обслуживать столько статических HTML-страниц одновременно, просто потому, что пропускная способность сети не может с этим справиться.

Можно многому научиться, если вам нужно работать с крупными веб-сайтами. Посмотрите великолепную презентацию Тео Шлосснагла Масштабируемые интернет-архитектуры и его книгу с тем же названием .

0 голосов
/ 01 сентября 2010

Ознакомьтесь с методами, используемыми в Википедии :

  • распределенная база данных
  • выделенные серверы баз данных, отличные от веб-серверов и файловых серверов
  • shortзапросы к базе данных, поэтому перезапуск соединений происходит быстро
  • постоянное внимание к производительности сервера с настройкой и реинжинирингом по мере необходимости
...