about summary refs log tree commit homepage
path: root/doc/site/src/faq.page
diff options
context:
space:
mode:
Diffstat (limited to 'doc/site/src/faq.page')
-rw-r--r--doc/site/src/faq.page54
1 files changed, 54 insertions, 0 deletions
diff --git a/doc/site/src/faq.page b/doc/site/src/faq.page
index 796cb01..44b1939 100644
--- a/doc/site/src/faq.page
+++ b/doc/site/src/faq.page
@@ -35,5 +35,59 @@ As for the internals of Mongrel there are a few key technologies being used:
 
 Other than this there's not much more to it.
 
+h3. Q: Is it multi-threaded or can it handle concurrent requests?
+
+Mongrel is uses a pool of thread workers to do it's processing.  This means that
+it is able to handle concurrent access and should be thread safe.  This also
+means that you have to be more careful about how you use Mongrel.  You can't
+just write your application assuming that there are no threads involved.
+
+Camping and Og+Nitro are supposed to be thread safe and work with Mongrel directly.
+This hasn't been heavily tested so people should let me know if they get weird
+explosions under heavy load.
+
+Ruby on Rails is not thread safe so there is a synchronized block around the calls
+to Dispatcher.dispatch.  This means that everything is threaded right before and
+right after Rails runs.  While Rails is running there is only one controller
+in operation at a time.
+
+
+h2. Deployment
+
+h3. Q: What's the best way to deploy my application with Mongrel?
+
+Right now Mongrel is still in heavy development, so I wouldn't recommend
+running anything production level with it.  For the future I'm envisioning
+three main ways people will use Mongrel with their application:
+
+# Developing their application by running Mongrel the same way they run WEBrick.
+# Putting Mongrel behind a web server that supports proxying (like mod_proxy in lighttpd and apache)
+   so that the web server handles the static content and Mongrel handles the dynamic.
+# Using a load balancer to run a cluster of Mongrel and web servers directly rather
+   than through proxying.
+
+Since Mongrel uses plain HTTP there's no reason you can't use it directly for small
+installs or development and testing.  For production deployments it'll be easier
+to deal with than SCGI or FastCGI since there's already a huge amount of machinery
+available for running HTTP based clusters.
+
+
+h2. Web Site
+
+h3. Q: How did you make this site?
+
+The site was actually incredibly easy to create.  I simply went to "OSWD":http://openwebdesign.org/
+and found a design that fit what I wanted for the site.  I then went to "Flickr":http://flickr.com/
+and found pictures of various animals that were licensed under the
+"Creative Commons":http://openwebdesign.org/ license.  Once I chopped the images up, worked them
+into the design structure, and wrote an initial set of content I was done.
+
+The tool I use to generate the site is called "webgen":http://webgen.rubyforge.org/ which
+is a static site generator written in Ruby.  I write all of the content using redcloth
+mark-up and leave the generation to webgen.  Finally I hooked into the Mongrel Rakefile
+so that it's auto-generated and deployed to the site for me.
+
+Refer to the "attributions":/attributions.html page for information on the resources used.
+