2009-07-21 2 views
0

В прошлом я слышал, что постоянные соединения не подходят для использования на веб-сервере с высоким трафиком. Это правда или применяется только к режиму prefork в Apache? У режима CGI возникли проблемы?Недостаток использования постоянных соединений?

Это включает в себя PHP, Apache и Postgresql.

ответ

2

Are PHP persistent connections evil ? - в контексте PHP и MySQL.

Причина использования постоянных подключений - это, конечно же, сокращение количества подключений, которые довольно дороги, хотя они намного быстрее с MySQL, чем с большинством других баз данных.

Первая проблема с постоянными соединениями ...

Если вы установить тысячи соединений в секунду обычно не держать его открытым в течение длительного времени, но Операционная система делает. В соответствии с протоколом TCP/IP порты не могут быть переработаны мгновенно и должны провести некоторое время на этапе ожидания «FIN», прежде чем их можно будет перерабатывать.

Вторая проблема ... использование слишком большого количества подключений к серверу MySQL.

Некоторые люди просто не понимают, вы можете увеличить max_connections переменной и получить более 100 одновременных соединений с MySQL других были избиты более старых Linux проблем не будучи в состоянии иметь более 1024 соединений с MySQL.

Давайте поговорим о том, почему постоянные соединения были отключены в расширении mysqli. Даже если вы можете злоупотреблять постоянными соединениями и получать плохую производительность, что не было причиной. Настоящая причина - у вас могут возникнуть проблемы с этим.

Постоянные подключения были добавлены в PHP во времена MySQL 3.22/3.23, когда MySQL был достаточно прост, чтобы вы могли легко перерабатывать соединения без каких-либо проблем. В более поздних версиях возникло множество проблем - если вы перерабатываете соединение, у которого есть незавершенные транзакции, вы столкнулись с проблемами. Если вам приходится перерабатывать соединения с настраиваемыми настройками набора символов, у вас снова проблемы, не говоря уже о возможно изменении переменных сеанса.

0

Одна из проблем с использованием постоянных подключений заключается в том, что она не очень хорошо масштабируется. Если у вас 5000 человек, вы должны иметь 5000 постоянных подключений. Если вы уберете необходимость в постоянстве, вы сможете обслуживать 10000 человек с одинаковым количеством подключений, потому что они могут делиться этими соединениями, когда они их не используют.

Смежные вопросы