Thread: RE: [INTERFACES] Sharing Database Connection Among Different CGI scripts writen in different languages
RE: [INTERFACES] Sharing Database Connection Among Different CGI scripts writen in different languages
From
Nicolas Huillard
Date:
I use Mason for this kind of stuff (www.masonhq.com). Quoting the site : "Mason is a powerful Perl-based web site development and delivery engine. With Mason you can embed Perl code in your HTMLand construct pages from shared, reusable components. " For your problem, there are many solutions using Mason. The one I use is persistent DB connections, tied to the Apache servers. There are many benefit of this architecture : components (your scripts) are compiled only once and cached as long as theApache process lives (no fork, exec, etc). The database connection are not only persistent in a whole page request, butalso for all pages served by an Apache process. I think you can have a x100 performance improvement between your independent CGI design and this one (not laughing). Nicolas Huillard -----Message d'origine----- De: Alexey V. Meledin [SMTP:avm@webclub.ru] Date: mardi 22 février 2000 11:04 À: pgsql-interfaces@postgreSQL.org Objet: [INTERFACES] Sharing Database Connection Among Different CGI scripts writen in different languages Hi! I have 2 CGI scripts. Each script makes some queries to PostgreSQL and returns html code as a result . Simple example: 1-st CGI returns: "Hello, Anny!" (Anny is choosen from DataBase) 2-nd CGI returns: "There is 3 messages for you!" (number of messages is choosen from Database) Scripts can run separately each from other. Suppose, that I want to call 2-nd script from the first via HTTP or fork+execv+pipe. I receive: "Hello, Anny! There is 3 messages for you!" All OK, but I have two separated queries and two Backends started. It's not good, because I don't need any concurrency :( How can I optimize such situation? I see: 1. Share Database conection among two scripts. Can I do it? 2. Write "proxy" daemon to execute queries. Is it possible? 3. Use Application Servers and so either (can't use them and any other transaction mechanizm) Thenks, Alexey V. Meledin InterForge Developers Group, Saint-Petersburg look_to: <www.etcompany.ru><www.businessweb.ru> <www.inplan.spb.ru><www.pia.ru>>>>>>>>>>>>>>>>> mail_to: <avm@webclub.ru><nick_as: <cureman>>>> ************
Re[2]: [INTERFACES] Sharing Database Connection Among Different CGI scripts writen in different languages
From
"Alexey V. Meledin"
Date:
Hi, Nicolas! Tuesday, February 22, 2000, 1:39:06 PM, you wrote: NH> I use Mason for this kind of stuff (www.masonhq.com). Quoting the site : NH> "Mason is a powerful Perl-based web site development and delivery engine. With Mason you can embed Perl code in yourHTML and construct pages from shared, reusable components. " NH> For your problem, there are many solutions using Mason. The one I use is persistent DB connections, tied to the Apacheservers. NH> There are many benefit of this architecture : components (your scripts) are compiled only once and cached as long asthe Apache process lives (no fork, exec, etc). The database connection are not NH> only persistent in a whole page request, but also for all pages served by an Apache process. NH> I think you can have a x100 performance improvement between your independent CGI design and this one (not laughing). NH> Nicolas Huillard Thanks for answer, but we doesn't use Perl for this. We use C/C++, PHP, JSP (in future). Many programs are writen in this languages. It's hard to transfer all to Perl. It's simple to make minor changes in each script, that uses PostgreSQL. Idea of Mason is good. But there is a little problem: We haven't our own Server at ISP. We have only virtual hosting and possibilities they provide to us. Some people say that some databases (ORACLE and InterBase) provide special database connection handlers that I can pass through my non-concurrent scripts. Does PostgreSQL has anything like this? Regards, Alexey V. Meledin InterForge Developers Group, Saint-Petersburg look_to: <www.etcompany.ru><www.businessweb.ru> <www.inplan.spb.ru><www.pia.ru>>>>>>>>>>>>>>>>> mail_to: <avm@webclub.ru><nick_as: <cureman>>>>