Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Как самым коротким путем (с минимальными накладынми расходами) направлять вызовы с Apache в Postrge? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2008, 04:16 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Уверены что pgsql поймет запросы типа HTTP 1.1 GET index.html ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2008, 15:14 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
APMУверены что pgsql поймет запросы типа HTTP 1.1 GET index.html ? Совершенно не важно. Фактически мне нужно чтобы вызов апача поступал на вход некой pgsql сохраненной процедуры. Пусть это будет строка, ту которую вы привели. Но как это сделать не располагая посередине еще один слой ввиде PHP например. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 03:51 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
апачу написать свой модуль для апча! Прямо с утра развеселил, сенькс! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 09:48 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Хм, такого извращения я еще не видел. Я понимаю, в постгрес встроить легкий веб-сервер - но от монстра апача передавать запрос в постгрес (ага, при этом еще и без пула соединений работать, чтоб веселей было) конечно дико производительное решение. Возможно, оно даже будет работать хотя бы не медленнее, чем mod_perl или mod_php :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 10:55 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
MBGХм, такого извращения я еще не видел. Я понимаю, в постгрес встроить легкий веб-сервер - но от монстра апача передавать запрос в постгрес (ага, при этом еще и без пула соединений работать, чтоб веселей было) конечно дико производительное решение. Возможно, оно даже будет работать хотя бы не медленнее, чем mod_perl или mod_php :-) Я почему то всегда думал, что поддержка пула соединений - это задача web сервера (хотя никогда и не вникал в эту механику). Как это происходит например в ASP.NET? IIS отппавляет запрос процессу w3wp, а тот уже к ASP.NET dll-кам. Но только где на этом промежутке создается пул соединений с БД - грю не вникал как то. И если пул соединений - это не задача web сервера, то тогда какую он роль играет в качестве сервера приложений, в тех случаях когда его предлагают в этом качестве использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 11:24 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Вот например нарыл в инете: вот тут: http://www.xakep.ru/magazine/xs/028/020/1.asp "IIS создает пул соединений, куда складирует разные connection'ы, каждый из которых можно заюзать сколько угодно раз. Когда приложение запрашивает соединение, IIS проверяет, а не тусует ли уже в пуле свободный connection с такой же строкой соединения. Если нужное соединение удается найти, оно используется, если нет - создается новое. Таким образом, если в пуле удается нарыть открытое соединение с нужными свойствами, хитрый IIS просто возвращает линку на него и ни хрена не открывает. Так что пул ускоряет процесс установки соединений, ведь обычно юзают один источник данных и 2-3 типа доступа с разными паролями. Именно из-за организации пула запись объекта Connection в переменную Session замедляет работу сервака. Поэтому никогда так не делай." то есть все таки веб-сервер выступает в роли держателя пула соединений? Хорошо, если посередине сделать еще один слой - PHP, то "кто" будет держать пул? PHP (процесс в котором выполняются PHP скрипты) или все таки Apach? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 11:34 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
MBGЯ понимаю, в постгрес встроить легкий веб-сервер А можно подробнее? Как это в СУБД встроить веб-сервер? То есть я все равно понимаю веб-сервер как отдельную компоненту. И эта компонетна уже непосредственно взаимодействует со скриптами (сохраненными процедурами) postgre. Прекрасно! Я этого и хочу. Только опять же, этот промежуточный сервер - пусть не Апач - должен 1) держать пул соединений с postgre. 2) Выбрав неиспользуемое соединение по нему запросить выполнение некой процедуры postge, передав в качестве параметра - параметры полученные из http запроса. Как это сделать? То есть - в случае Windows более менее понятно. А в кроссплатформенном варианте? Нужно ли тащить (дополнительно ставить) отдельный менеджер соединений или JDBC аналогично ODBC или ADO способно поддерживать эту возможность? А может есть другой вариант - более "родной" для postgre? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 12:10 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Web server занимается обработкой запросов и раздачей контента - пул соединений не поддерживает и кофе не варит. А вот application server может в себя включать веб-сервер, поддержку пула соединений с базами данных, интерпретатор того или иного скриптового языка и еще много всего. Из application server-ов могу назвать aol web server - есть встроенные пулы соединений с постгресом, ораклом и проч., встроенная поддержка tcl, массивного виртуального хостинга (массивного - в смысле десятков тысяч доменов на одном веб-сервере) и очень много других возможностей. Встроить веб-сервер в постгрес несложно - взять движок на тикле, к примеру, и на untrusted tcl в постгресе его запустить. Или можете и на С взять движок, если хотите. Так же легко добавляется возможность отдавать xml из постгреса в ответ на http-запросы. А можно и наоборот сделать - взять встраиваемый движок СУБД (скажем, метакит или эскулайт) и встроить его в веб-сервер. И тот и другой вариант имеют свои плюсы и минусы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 13:12 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
апач Но как это сделать не располагая посередине еще один слой ввиде PHP например. Я бы написал один php-файл парсер, который будет делать всё что вам надо, запустил бы всю эту беду и померил производительность. Если бы она меня не устроила - сел бы думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 13:33 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Вот с чего можно начать http://sourceforge.net/projects/tclhttpd Этот веб-сервер можно запустить в постгресе или наоборот в нем запустить эскулайт (метакит уже встроен). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 14:06 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
апачКак самым коротким путем (с минимальными накладынми расходами) направлять вызовы с Apache в Postrge? //перефразируя: как написать веб сервис используя потгрес и апач? SELECT * FROM postgresql_apache_web_services ORDER BY performance DESC LIMIT 2; 1. Быстрее всего -- mod_<ваш модуль к апачу на с/с++> который перехватывает запрос, обрабатывает, лезет в постгрес за данными, форматирует их в форму пригодную для передачи через http, i.e {json, yaml, xml, key=value, etc}, отдает данные клиенту 2. немного медленние, но меньше гимора при разработке -- MyApache::<ваш модуль к апачу на mod_perl> который делает тоже самое что и в п.1 далее идут различные варианты 1. начиная от mod_python, до java, php, ruby, и тд. выбор варианта зависит от кучи разных "variables", начиная тех. требований по производительности и знаний разработчиков и кончая указаниями босса вроде того что "использовать будем .net voip java iphone xml url [buzz word list continues]". Как правило время потраченное на разработку обратно пропорционально производителъности. Например вариант 1 наиболее производителъный но тербует больше времени для разрабитки и более высокой квалификации для девелопера. грубо напишите то что вам надо на том что знаете, протерстируйте. скорее всего пойдет в любом варианте. Насчет пула соединий: апач на самом деле дает вам этот пул из за свой ахитектуры. так же если надо можно использовать connection proxy pool вроде pgbouncer или pgpool. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2008, 23:55 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное за исчерпывайшею информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2008, 02:18 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Константин~Насчет пула соединий: апач на самом деле дает вам этот пул из за свой ахитектуры. так же если надо можно использовать connection proxy pool вроде pgbouncer или pgpool. Архитектура апач отнюдь не гарантирует, что разработчик модуля для работы с постгресом реализовал работу с пулом соединений. Проверять надо выбранный модуль, т.к. это свойство модуля, а не апача. Если писать, скажем, на перле с помощью перлового модуля доступа к постгресу, то поддержки пулов точно не будет, если топикстартер ее сам не напишет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2008, 12:40 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
MBG я имел ввиду следующее: апач представляет собой пул процессов (или потоков, что завистит от конфига и ОСи). Если мы рассматриваем некий нагруженный веб сервис задача которого общаться с потгресом , то предполагается что все процессы апача постоянно заняты некой работой (т.е. не висят и не ждут данных как в ситуации с фронт-енд веб сервером) и каждому из них на самом деле нужено постоянное соединение с базой. Если применитъ внешний пул соединений, то он просто откроет число соединией = числу активных процессов апача. Отсюда и мое замечание про то что апач фактически и является пулом. Естественно что драйвера перла, пчп, и тд. никаких пулов соединений не делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2008, 22:18 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
MBGЕсли писать, скажем, на перле с помощью перлового модуля доступа к постгресу, то поддержки пулов точно не будет, если топикстартер ее сам не напишет.посмотрите модуль Apache::DBI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2008, 10:58 |
|
||
|
Как напрямую связать Apache с Postgre
|
|||
|---|---|---|---|
|
#18+
Для информации: Apache::DBI не делает пулов, он обеспечиват постоянное/долговременное соединие с базой, т.е. заменят метод disconnect и следит чтоб коннет не умер время от времени посылая запрос в базу методом ping. это все есть как в описании модуля так в самом коде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2008, 23:10 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35526274&tid=2004073]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 405ms |

| 0 / 0 |
