Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как оставаться на связи с MySQL 
:(
    Опции темы
BCworm
Дата 12.8.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 23.8.2007

Репутация: нет
Всего: нет



Привет всем. Возник вот такой вопрос.
Делаю несколько страничек на php для работы с базой mysql. При каждом вызове
скрипта сначала происходит подключение к базе затем после отработки отключение. Можно ли както сохранить подключение к базе т.е подключиться один раз и работать а затем отключаться вместо того чтобы подключаться и отключаться каждый раз при вызове скрипта?
Т.е например сейчас каждый раз при вызове скрипта происходит подключение а затем отключение а я хочу сделать так чтобы после авторизации я получал возможность выполнять скрипты после чего по команде отключаться а не каждый раз после отработки.


PM MAIL   Вверх
bars80080
Дата 12.8.2009, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 9
Всего: 315



Цитата(BCworm @  12.8.2009,  13:34 Найти цитируемый пост)
.е например сейчас каждый раз при вызове скрипта происходит подключение а затем отключение а я хочу сделать так чтобы после авторизации я получал возможность выполнять скрипты после чего по команде отключаться а не каждый раз после отработки.

т.е. если тебе разрешено иметь на сервере 20 подключений, то пока 20 пользователей на сайте (а на этом их к примеру >400 за 15 минут) он перекроет кислород остальным?
соединением ты пользуешься от силы несколько секунд, зачем его сохранять в пределах жизни сессии (а это может растянутся на часы)



встречный вопрос: зачем?
PM MAIL WWW   Вверх
MoLeX
Дата 12.8.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140





--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 12.8.2009, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Цитата(BCworm @  12.8.2009,  13:34 Найти цитируемый пост)
При каждом вызове скрипта сначала происходит подключение к базе затем после отработки отключение

Ничего страшного. Так работают практически все сайты, построенные на mysql и php. Беспокоиться об этом не стоит.

Добавлено @ 13:54
mysql_pconnect во-первых, делает другое, во-вторых, создает больше проблем, чем решает, а в-третьих у автора проблема, не требующая решения, ни таким, ни каким-либо другим способом.

Это сообщение отредактировал(а) Ипатьев - 12.8.2009, 14:05
PM MAIL   Вверх
BCworm
Дата 12.8.2009, 14:05 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 23.8.2007

Репутация: нет
Всего: нет



...а в-третьих у автора проблема, не требующая решения, ни таким, ни каким-либо другим способом.

Что-то я не понял смысл этого высказывания. Т.е я как бы получается от нечего делать решил написать пост с бредовой идеей.
Что касается количества одновременных соединений то оно только одно.

Проблема есть и она требует решения может быть не таким образом но другим возможным
PM MAIL   Вверх
Ипатьев
Дата 12.8.2009, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Цитата(BCworm @  12.8.2009,  14:05 Найти цитируемый пост)
Проблема есть

Отлично. Можно её услышать?
PM MAIL   Вверх
MoLeX
Дата 12.8.2009, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата

mysql_pconnect()
resource mysql_pconnect( [string hostname [:port] [: /path/to/socket]]
[, string username [, string password]])

Буква «p» в имени функции соответствует слову «persistent» - постоянному соединению - mysql_pconnect() выполняет ту же функцию, что и mysql_connect(), но создаваемое в результате соединение не закрывается при вызове mysql_close() или завершении сценария РНР. Интерпретатор РНР сам под держивает соединение с сервером баз данных.

При последующих вызовах mysql_pconnect( ) с теми же аргументами интерпретатор РНР не устанавливает новое соединение, а повторно использует уже существующее. В результате устраняется нагрузка, связанная с многократным открытием и закрытием соединений с базой данных в приложениях, которые часто выполняют вызовы с одними и теми же аргументами. Такая экономия времени благодаря постоянным соединениям является большим преимуществом РНР над моделью CGI. Конечно, это справедливо только тогда, когда РНР установлен в виде модуля веб-сервера, а не в режиме CGI.

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


Цитата(Ипатьев @  12.8.2009,  13:52 Найти цитируемый пост)
mysql_pconnect во-первых, делает другое,

и что оно делает другое  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
BCworm
Дата 13.8.2009, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 23.8.2007

Репутация: нет
Всего: нет



Черт а я тоже почитал на инглише по ссылке и подумал да ... не это совсем не то... буду пробовать
Всем спасибо.

PM MAIL   Вверх
MoLeX
Дата 13.8.2009, 08:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



BCworm, если англ. плохо знаешь (как я например) то переводим или же идет на русский аналог мануала. Вот ссылки:
http://www.php.ru/manual/features.persiste...onnections.html (обязательно посмотри)
http://www.php.ru/manual/function.mysql-pconnect.html


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 13.8.2009, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 4
Всего: 73



Цитата(BCworm @  12.8.2009,  15:05 Найти цитируемый пост)
Что-то я не понял смысл этого высказывания. Т.е я как бы получается от нечего делать решил написать пост с бредовой идеей.
Что касается количества одновременных соединений то оно только одно.

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


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
MoLeX
Дата 14.8.2009, 05:36 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(IZ@TOP @  13.8.2009,  22:55 Найти цитируемый пост)
Постоянное соединение с базой оправдывает себя в десктопных приложениях или интерактивных, но никак не для Web'а. 

и еще если автор хочет мучительно убить сервер)))


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
begin
Дата 18.8.2009, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



А подскажите, чем чревато такое:
1. в файле конфиг соединяюсь с базой:
Код

$db=mysql_connect($db_server, $db_user, $db_pas) or die ('Сервер перегружен. Пожалуйста обновите страницу');
$res=mysql_select_db($db_name) or die ('Сервер перегружен. Пожалуйста обновите страницу');

2. во всех скриптах, работающих с базой делаю такое:
Код

include 'config.php';

3. соединение с базой нигде не прерываю.

PM MAIL   Вверх
Ипатьев
Дата 18.8.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 3
Всего: 37



Ничем, кроме случаев, когда скрипт уже перестал работать с базой, но потом еще долго выполняется.
Поскольку вероятность возникновения таких ситуаций минимальна, то беспокоиться тут особо не о чем.
PM MAIL   Вверх
MoLeX
Дата 18.8.2009, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(begin @  18.8.2009,  13:33 Найти цитируемый пост)
3. соединение с базой нигде не прерываю.

не сканает. 
сервер сам вставляет mysql_close();


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
begin
Дата 18.8.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 415
Регистрация: 16.5.2007

Репутация: нет
Всего: нет



Цитата(MoLeX @ 18.8.2009,  14:15)
сервер сам вставляет mysql_close();

Отлично, а то я уже начал думать, что искусственно нагружаю базу лишними соединениями. Теперь я спокоен  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.