VelociGen separates the Perl from the http daemon. An single optimized, streamlined httpd process connects to user defined number of perl engines, maximizing memory usage and script caching. Perl processing can be scaled by distributing to separate machines. The pool can be spread across multiple machines and reduced or enlarged, depending on memory available. HTML, GIF, JPEG and other simple requests are taken care of by the http daemon.
Perl processing is passed onto the first available perl engine.
Since fewer instances of the Perl interpreter are running in the VelociGen model, the probability of hitting a cached script is higher. Our testing of threaded Perl found that it was not reliable for real world eCommerce applications that connect to databases. Architecture VelociGen's architecture is designed to obtain maximum performance and crash protection . The Perl Engines have been removed from the actual Web server API and been placed in separate processes. Each Perl Engine handles a single request, allowing the Web server to survive the inevitable 'bad code'.