Internally, Phusion Passenger spawns multiple Ruby application processes in order to handle
requests. But there are multiple ways with which processes can be spawned, each having
its own set of pros and cons. Supported spawn methods are:

'smart'::
This spawning method caches code using the app preloader. Framework code is not
cached between multiple applications, although it is cached within
instances of the same application. Please read
<<spawning_methods_explained,Spawning methods explained>> for a more detailed
explanation of what smart spawning exactly does.
+
*Pros:*
Smart spawning caches code where possible to speed up the respawn process
and is compatible with most applications
+
*Cons:*
It is possible that it may be incompatible with some applications

'direct'::
This spawning method is similar to the one used in Mongrel Cluster. It does not
perform any code caching at all. Please read
<<spawning_methods_explained,Spawning methods explained>> for a more detailed
explanation of what direct spawning exactly does.
+
*Pros:*
Direct spawning is guaranteed to be compatible with all applications
and libraries.
+
*Cons:*
Much slower than smart spawning. Every spawn action will be equally slow, though no slower than
the startup time of a single server in Mongrel Cluster. Direct spawning will also
render <<reducing_memory_usage,Ruby Enterprise Edition's memory reduction technology>> useless.

************************************************
As of Phusion Passenger 4.0, 'conservative' spawning was renamed to 'direct' and 'smart-lv2' was renamed
to 'smart'. The old 'smart' spawning has been removed in favor of the new version.
************************************************
