Looks like this mail was lost.

-------- Original Message --------
Subject: OpenCA server for performance
Date: Thu, 02 Oct 2003 10:04:04 +0200
From: Michael Bell <[EMAIL PROTECTED]>
To: openca-dev <[EMAIL PROTECTED]>

Hi all,

be warned this is a really long mail :)

I started to think about some radical ideas to solve our performance
problems. All actual ideas do the same - we try to optimize the
initialization. The simple question is why does the initialization time
be a problem for a server if it starts it's normal operation after a
while? Really simple because OpenCA is no server! So what about a real
OpenCA server?

The idea is a module OpenCA::IPC. We can derive this module from
OpenCA::XML::Cache which already includes a fast server. This module
would have the following functions:

- getRequest ();
- setRequest ("...");
- getAnswer ();
  returns undef on end of message
- setAnswer ("...");
  used to send partial results (replacement for print)
- flushAnswer();
  send empty or only partially filled message to signal end of answer
  (replacement for exit and die)
- new (TYPE    => (SERVER|CLIENT),
       SERVICE => "a name to create the unix socket",
       TMP_DIRECTORY => "openca/tmp");
- kill (SERVICE => "a name to find the unix socket and pid",
        TMP_DIRECTORY => "openca/tmp");

The clients are normal CGI-scripts which always call the server
and send them the cookie ID plus all the data from POST or GET
via Perl's CGI module. The server sends back a string which will
be directly printed.

The string will be created on the server if all print statements to
STDOUT will be changed to '$main::global_stdout .= "...";'. The question
is now what to do. We have an official feature freeze for 0.9.2 but we
have a problem with the performance. There are four major changes:

1. OpenCA::IPC - derived from OpenCA::XML::Cache
2. some changes in initCGI because it will only called from the server
   mainly an additional while loop for the server
3. initClient which creates the request (really small)
4. change the print statements in all libs and cmds

The question is what is more important - a fast release or an acceptable
performance? Perhaps we should ask the users (openca-users)?

A notice for all people who are not directly coding for OpenCA - the
change is really radical in terms of the philosophy and an investment in
the future because after the change OpenCA is a real server by itself
not only by Apache! The question is now; is it better to build first a
stable release 0.9.2 or come closer do a final design.

Perhaps I should send this to openca-core first but I think it is a good
idea to discuss this completely in the public.

So finally, please send comments - especially those guys who use or want
to use the software for large installations and mission critical systems.

Michael
--
-------------------------------------------------------------------
Michael Bell                   Email: [EMAIL PROTECTED]
ZE Computer- und Medienservice            Tel.: +49 (0)30-2093 2482
(Computing Centre)                        Fax:  +49 (0)30-2093 2704
Humboldt-University of Berlin
Unter den Linden 6
10099 Berlin                   Email (private): [EMAIL PROTECTED]
Germany                                       http://www.openca.org


-- ------------------------------------------------------------------- Michael Bell Email: [EMAIL PROTECTED] ZE Computer- und Medienservice Tel.: +49 (0)30-2093 2482 (Computing Centre) Fax: +49 (0)30-2093 2704 Humboldt-University of Berlin Unter den Linden 6 10099 Berlin Email (private): [EMAIL PROTECTED] Germany http://www.openca.org



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
OpenCA-Devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/openca-devel

Reply via email to