Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: mysql_pconnect есть плюсы?

Сообщения:  [1-10]   [11-15] 

 
 автор: а-я   (12.02.2010 в 14:08)   письмо автору
 
   для: cheops   (12.02.2010 в 12:41)
 

спасибо... =) попробую использовать..

  Ответить  
 
 автор: cheops   (12.02.2010 в 12:41)   письмо автору
 
   для: а-я   (11.02.2010 в 12:49)
 

>вот об этом я и говорю, что новый процесс новое соединение, после процесс умирает, а
>соединение? По этой причине забивается маск. кол-во соединений с mysql?
Процесс не умрет, пока к нему имеются обращения, а уже тем более установленные соединения с mysql. Будет ждать, процессы, насколько я помню, должны обслужить определенное количество запросов, после чего они уничтожаются.

>при php-fpm нет новых процессов... там сколько прописал в конфигах столько и будет
>процессов с запуска. столько же и будет соединений с БД?
Если у вас один сервер и один сайт - можно не переживать, если несколько, лучше отказаться от постоянных соединений.

>допустим, у меня 10 процессов php-cgi, я могу спокойно писать в конфигах mysql о 10
>одноврем. соединений? или все же php каждый раз создает новое соединение? не "помня" о
>прошлых соединениях?
В случае CGI (не модуля), вероятно да, при условии, что у вас на сервере больше нет никаких других проектов (и MySQL не нужна для работы почты, DNS, FTP или чего-то ещё) - иначе они захватял все 10 соединений, а другие будут ждать.

  Ответить  
 
 автор: а-я   (11.02.2010 в 12:49)   письмо автору
 
   для: cheops   (11.02.2010 в 12:23)
 

>это не означает, что MySQL-соединение из процесса в процесс кочует.

вот об этом я и говорю, что новый процесс новое соединение, после процесс умирает, а соединение? По этой причине забивается маск. кол-во соединений с mysql?

при php-fpm нет новых процессов... там сколько прописал в конфигах столько и будет процессов с запуска. столько же и будет соединений с БД?
т.е. можно не переживать за них?
(при условии, что скрипты используют только 1 соединение)

допустим, у меня 10 процессов php-cgi, я могу спокойно писать в конфигах mysql о 10 одноврем. соединений? или все же php каждый раз создает новое соединение? не "помня" о прошлых соединениях?

  Ответить  
 
 автор: cheops   (11.02.2010 в 12:23)   письмо автору
 
   для: а-я   (11.02.2010 в 06:49)
 

>и какая опасность, что соединение открыл 1 потомок, а потом начал работать другой потомок?
Не очень понятно, а в чем опасность? Ну да в UNIX процессы создаются fork-ом, однако, это не означает, что MySQL-соединение из процесса в процесс кочует. Или имеется в виду что-то другое?

  Ответить  
 
 автор: а-я   (11.02.2010 в 06:49)   письмо автору
 
   для: cheops   (11.02.2010 в 06:14)
 

если я не ошибаюсь, апач создает потомки и потомки уже выполняют работу. допустим, конфиг не более 20 потомков. значит будет не более 20 соединений?

а если стоит, допустим, php-fpm/ там кол-во процессов всегда постоянно. и они всегда существуют. так же от кол-во процессов?

и какая опасность, что соединение открыл 1 потомок, а потом начал работать другой потомок?

  Ответить  
 
 автор: cheops   (11.02.2010 в 06:14)   письмо автору
 
   для: а-я   (10.02.2010 в 19:05)
 

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

  Ответить  
 
 автор: а-я   (10.02.2010 в 19:05)   письмо автору
 
   для: GeorgeIV   (10.02.2010 в 17:23)
 

если php не помнит, он по новой пытается создать соединение. или я ошибаюсь? и кол-во соединений не превысит кол-во процессов апача?

  Ответить  
 
 автор: GeorgeIV   (10.02.2010 в 17:23)   письмо автору
 
   для: а-я   (10.02.2010 в 16:28)
 

php - это одно, а mysql - другое

  Ответить  
 
 автор: а-я   (10.02.2010 в 16:28)   письмо автору
 
   для: tim313   (09.02.2010 в 21:22)
 

если я не ошибаюсь, PHP начинает работу с "чистого листа". т.е. запуская скрипт, php не помнит ни о каких прошлых соединений, открытых файлах.. выполнив все, он все стирает.. сделано чтоб не допускать утечки памяти..

  Ответить  
 
 автор: cheops   (10.02.2010 в 15:58)   письмо автору
 
   для: tim313   (10.02.2010 в 11:14)
 

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

  Ответить  

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования