Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Ускорить подключение к базе Oracle  [new]
GrandMaster
Member

Откуда:
Сообщений: 147
Написал на php-скрипт, который просто подключаеться и отключаеться от базы Oracle

for($i=0;$i<1000;$i++)
{
$CON=oci_connect($user, $pass,$base,"CL8MSWIN1251");
oci_close($CON);	
}

Вообщем у меня получилось, что в среднем скрипт делает не больше 6 подключений и отключений к базе Oracle за 1 секунду. Это слишком медленно. Кто нибудь знает как это можно ускорить. Какие настройки установить.
12 сен 06, 08:45    [3121943]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
Можно попробовать Shared Server.
Но у него свои ограничения
12 сен 06, 08:50    [3121955]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
Maxman
Member

Откуда:
Сообщений: 402
а у вас что каждый последующий клиент в реале будет ждать отключений предудущего?
а не учше породоть кучу нитей? они не будут друг друга ждать?
12 сен 06, 08:54    [3121973]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
vladvol
Member

Откуда:
Сообщений: 46
Maxman
а у вас что каждый последующий клиент в реале будет ждать отключений предудущего?
а не учше породоть кучу нитей? они не будут друг друга ждать?


Согласен. Непонятна цель этого эксперимента.
12 сен 06, 08:59    [3121999]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
GrandMaster
Member

Откуда:
Сообщений: 147
Нет задача немного другая. Когда пользователь заходит на сайт, он дергает скрипт. Скрипт подключаеться к базе и записает инфу и отключаеться. При большом количестве посещений, получиться больше 5 человек в секунду скрипт не будет успевать записывать.
12 сен 06, 09:20    [3122069]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
vladvol
Member

Откуда:
Сообщений: 46
Считаю, что для чистоты эксперимента, если хочешь нагрузить свой скрипт, то напиши прогу, которая в цикле будет генерить http-запросы к ресурсу. Время надо засеч до формирования запросов и после получения всех ответов. Так будет правильней, хотя чистота тоже относительна.
Кажеться должны быть готовые средства для стресс-тестирования http сервера. Может в этом направлении поработать.
12 сен 06, 09:52    [3122213]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
GrandMaster
Member

Откуда:
Сообщений: 147
Я уже делал всякие тесты, точно выснилось что большего всего времени уходит именно на подключение к базе данных.
12 сен 06, 10:34    [3122504]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
d3n
Member

Откуда: RU, Irk, Msk
Сообщений: 181
а connection pool там не прикручивается?
12 сен 06, 10:43    [3122551]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8553
GrandMaster
Я уже делал всякие тесты, точно выснилось что большего всего времени уходит именно на подключение к базе данных.


Для полноты экперимента может имеет смысл еще и покопать в сторону Connection Pooling ?
12 сен 06, 10:47    [3122573]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
MacDuck
Member

Откуда: Москва-Подольск
Сообщений: 6387
Вячеслав Любомудров
Можно попробовать Shared Server.


Вячеслав, а не посоветовать ли парню CMAN?
12 сен 06, 10:56    [3122634]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
contr
Member

Откуда:
Сообщений: 1909
GrandMaster
Нет задача немного другая. Когда пользователь заходит на сайт, он дергает скрипт. Скрипт подключаеться к базе и записает инфу и отключается. При большом количестве посещений, получиться больше 5 человек в секунду скрипт не будет успевать записывать.

Незачем ему отключаться. Пусть держит сессию.
Отключаться можно по таймауту - скажем, если две минуты не было новых обращений.
Иначе сервер только и будет заниматься подъемами новых серверных процессов в dedicated и многочисленными проверками прав доступа, инициализацией сессий во всех случаях. Бестолковое использование ресурсов.
12 сен 06, 10:57    [3122645]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
GrandMaster
Member

Откуда:
Сообщений: 147
Так как сохранить сессию. После окончания php скрипта сессия (подключение) автоматически закрываеться. Если ты знаешь как ее сохранить расскажи.
12 сен 06, 12:34    [3123503]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
contr
Member

Откуда:
Сообщений: 1909
GrandMaster
Так как сохранить сессию. После окончания php скрипта сессия (подключение) автоматически закрываеться. Если ты знаешь как ее сохранить расскажи.

http://download-uk.oracle.com/docs/cd/B19306_01/network.102/b14212/architecture.htm#sthref468
12 сен 06, 12:39    [3123533]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
grexhide
Member [заблокирован]

Откуда: Страна непреодолимых противоречий
Сообщений: 8553
GrandMaster
Так как сохранить сессию. После окончания php скрипта сессия (подключение) автоматически закрываеться. Если ты знаешь как ее сохранить расскажи.


Я же тебе дал ссылку на предмет OCIPLogin, OCINLogin.

Или "многа аглицких букв ниасилил" ?
12 сен 06, 12:40    [3123548]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
contr
Member

Откуда:
Сообщений: 1909
http://download-uk.oracle.com/docs/cd/B19306_01/appdev.102/b14407/pc_11thr.htm#g1021122
12 сен 06, 12:44    [3123584]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
Feech
Member

Откуда:
Сообщений: 443
GrandMaster
Нет задача немного другая. Когда пользователь заходит на сайт, он дергает скрипт. Скрипт подключаеться к базе и записает инфу и отключаеться. При большом количестве посещений, получиться больше 5 человек в секунду скрипт не будет успевать записывать.


А скрипт не дергается ли для каждого пользователя в отдельном процессе/потоке? Соответственно, подключение нового пользователя не ждет пока закроется подключение других.

Имитировали ли "большое количество пользователей" в экспериментах?
12 сен 06, 13:21    [3123947]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
hell
Member

Откуда:
Сообщений: 3001
MacDuck
Вячеслав Любомудров
Можно попробовать Shared Server.


Вячеслав, а не посоветовать ли парню CMAN?


Насколько я знаю, multiplexing connections работает только с shared server. А если без него - то это наоборот будет только еще одним уровнем, через который надо пройти при логине...
12 сен 06, 14:30    [3124476]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
MacDuck
Member

Откуда: Москва-Подольск
Сообщений: 6387
hell

Насколько я знаю, multiplexing connections работает только с shared server. А если без него - то это наоборот будет только еще одним уровнем, через который надо пройти при логине...



Цитату из доки можно?
12 сен 06, 15:25    [3124956]     Ответить | Цитировать Сообщить модератору
 Re: Ускорить подключение к базе Oracle  [new]
hell
Member

Откуда:
Сообщений: 3001
MacDuck
hell

Насколько я знаю, multiplexing connections работает только с shared server. А если без него - то это наоборот будет только еще одним уровнем, через который надо пройти при логине...



Цитату из доки можно?


Можно.


http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10739/manproc.htm


Дока

For even better resource management, shared server can be configured for connection pooling. Connection pooling lets a dispatcher support more users by enabling the database server to time-out protocol connections and to use those connections to service an active session. Further, shared server can be configured for session multiplexing, which combines multiple sessions for transmission over a single network connection in order to conserve the operating system's resources.


Дока по CMAN:

"Configuring Oracle Connection Manager"
Enabling Session Multiplexing

Once the attributes PROTOCOL and MULTIPLEX have been added to the parameter DISPATCHERS in the initialization parameter file, enabling session multiplexing is simply a matter of ensuring that MULTIPLEX is set to on or to an equivalent value.
See Also:

"Enabling Session Multiplexing"

You can set different levels of multiplexing, as Table 13-1 shows.
12 сен 06, 15:41    [3125079]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить