[fpc-devel] Re: Inter Process Communication

Jason P Sage jasonpsage at jegas.org
Tue Mar 6 16:55:33 CET 2007


Felipe Monteiro de Carvalho Wrote:

>Did you check the O-PSP : =
>http://www.psp.furtopia.org/cgi-bin/psp/news.psp and
>http://sourceforge.net/project/showfiles.php?group_id=3D145841.
>The O-PSP is going to handle the requests using multi-threading =
>mechanism while it doesn't need to install any apache module.
Currently, =
>It is developed for Linux. So, having a big application (regarding its
=
>size) isn't a problem. I used the "named pipes" to communicate between
=
>the dispatcher main application.

I'll look into it. Thank You.

>> Jason P Sage Wrote:
>> I definitely see the advantages of the TCP/IP between the web server
and
>> the application for scalability - etc. and I will do that even if I
make
>> my own web server - simply because that makes sense.
>>   =

>But as far as I know, the TCP/IP has some (huge) overheads and reduces
=

>the performance specially if your site has many visitors.

Excellent point. This is the main motivator to experiment with a few
different "solutions" - specifically a webserver just for FreePascal
applications.

The CGI version "Thin client-Big Multithreaded application" - using file
IPC - Gives Portability, reasonably fast. This is stable - and I use it
every day - all the time. 

FastCGI implementation - allows separating application server from web
server - has drawbacks with TCP overhead like you mentioned.

Writing a web server - not necessarily a replacement for apache,
lighttpd, or others - but as a compliment - a specific application web
server - written totally in FreePascal - would allow static stuff to go
through normal web server - and application stuff to be launched either
through another port or another server altogether.

Trust this: I will do tests with the latest PSP code - and if I like
what I see - I may heavily become a proponent of it.

Ultimately - I'd like to be able to make applications that can be
deployed: CGI, FastCGI, and directly self contained.

One thing is certain - FreePascal is up to the task - and that
regardless of the "technology" used for the web stuff - creating smart
caching for anything that can be cached on the server has proved to give
the most dramatic performance boosts of all the "things" I've changed
thus far.


Example: I have a multi-Language supported Menu/security navigation
system. This person see one menu, while another login sees others - all
dynamic, based on user and language. Because this is relatively static
until you change the system menu or the user's permissions, I made it so
this tiny "portion" of the generated html is cached per user. The
increase in performance was outstanding and cut the total mean time in
half for pages that contain the navigation menu.

But I digress... 

Thank you for your responses

Best Regards,
Jason P Sage
 




More information about the fpc-devel mailing list