Задать вопрос

Постоянное соединение в MySQL и memcache?

Хочу попробовать использовать persistent connection в MySQL и memcache на своем сайте, но перед этим для верности хочу задать пару вопросов, ответа на которые не нашел в документации (хотя может быть, плохо искал):

1. Вызовы mysql_pconnect/memcache_pconnect открывают новые соединения каждый раз или используют незакрытые старые? Будет ли одно и тоже соединение использоваться параллельно при исполнении двух скриптов или оно может использоваться одновременно только одним скриптом, а для второго открывается новое соединение?

2. Получается ли за счет этого реальный прирост скорости приложения?

3. Какие у этого метода плюсы и минусы?
  • Вопрос задан
  • 5820 просмотров
Подписаться 6 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
maxout
@maxout
1. используют старые
2. да, прирост есть. ровно на то количество времени, которое тратится на mysql_connnect + mysql_select_db + «set names» (или что вы там ещё решите выполнять после каждого соединения)
3. плюс один — скорость.
минусы:
1. нет возможности принудительно закрыть соединение.
2. за счёт сохранения ненужных в данный момент соединений отжирается память mysql-сервера.
3. по звершении работы скрипта не снимается LOCK с таблиц и не уничтожаются TEMPORARY таблицы.
4. нужно отдельно следить за mysql server has gone away =)
5. апачевский mod_php криво работает с pconnect'ами. ну, то есть, само по себе это работает так как и должно, и с точки зрения апача не криво. просто ломается сама логика pconnect'ов: на новый запрос спавнится новый воркер, который о персистентном соединении соседа не знает, и открывает новое, слегка усиливая масштабы проблемы из пункта два.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽