WebROaR is under continuous development. We are happy to announce release of WebROaR v0.4.0 which contains new features, enhancements and bug fixes.

Previous versions of WebROaR were supporting 'gzip' and 'deflate' content encoding for dynamic response. In this release, we have added support for 'deflate' content encoding of static assets. By default content encoding is supported for content type 'javascript|css|xml|text' having actual content size greater than 1KB and less than 10MB for all the user agent. Content type, size and user agent is configurable through 'config.yml' file.

Read the rest of this entry

Team Changes

March 25th, 2010

Sadly Aditya has decided to pursue his other aspirations, given his new dream would require a substantial amount of his time, he would no longer be actively contributing to the project. Best of luck to him.

While Aditya will be missed, we have exciting new features to be built in WebROaR for which Dharmarth, Nikunj and I would continue to support the project as usual. You can communicate with me on vineet DOT tyagi AT webroar DOT in

PS: We would be looking for more like minded people to join the project, if you think you have what it takes please drop us an introduction at vineet DOT tyagi AT webroar DOT in


We are happy to announce the release of WebROaR v0.3.1 that supports Zero Downtime Application Upgrades.

The previous versions of the server already allowed restart of a single application at a time without affecting the other apps hosted on it. We have further improved the logic now, to ensure even the particular application being restarted, does not become unavailable at any time.

Read the rest of this entry

WebROaR v0.2.6 - Bugfix Release

December 23rd, 2009

WebROaR v0.2.6 gem is now available with the following fixes:

  • Updated messages for HTTP status codes 400, 404, 405, 500 and 501.
  • Fixed buffer overflow by allocating enough memory to hold REQUEST_PATH + Application-Path in the request resolver for static assets.
  • Improved the logic for detection of ruby shared library prerequisite.
  • Started using RUBY_INSTALL_NAME for detecting ruby during installation.
  • Added validation for search results file created while generating service script. Installation would continue even if server cannot be installed as a service.
  • Corrected example for the 'Headers' section in the config file.
  • Removed 'SIGCHLD' handler from the worker process - Fixes the incorrect exit status issue for a shell command executed using backquote method of ruby.
  • Added HTTP Date header when the HTTP response status is 100.
  • Used _POSIX_C_SOURCE macro to identify whether the file variable is a pointer to a file or a socket fd.
  • Corrected return type of 'send_static_worker_pid' method, if YAML parser returns NULL value.
  • Corrected time slider based analytics graphs issue when they were being seen after 2300 hrs.
  • Correctly implemented Rack specification for the Response Body. This fixes worker crash seen after serving first request in Development Environment mode for Rails 2.3.4+ applications.
  • Overriding Rack::Deflater to skip response body compression for user-agent Internet Explorer 6.0.
  • Renamed 'log' message defined by rb_define_singleton_method() to 'log_message'. This fixes the issue seen when Math.log is called by number_to_human_size() in a Rails Application. It also fixes the worker crash on REE installed with tcmalloc library. (Typically used to result in 404 error for a user trying to access the Admin Panel.) Resolves Tickets #9 and #10.
  • Code cleanup in Head, Worker and Helper modules.
Read the rest of this entry

WebROaR v0.2.5 gem is now available on Gemcutter. Change log for this release:

  • Tested on Mac OS X v10.6 Snow Leopard & Ubuntu 9.10 (64-bit).
  • Tested on Ruby Enterprise Edition 1.8.7-2009.10.
  • Upgraded rack dependency version to >=1.0.1.
  • Upgraded rails dependency version to >=2.3.5. Resolves Ticket #6.
  • Redirected 'rake spec' output to STDOUT by default to indicate progress of test execution.
  • Implemented exception handling (that works both on ruby 1.8 & 1.9) for handling errors raised in scripts being run by the embedded interpreter in the worker.
  • Redirected standard IO right after logger is initialized in worker.
  • Handled absolute path for install dependencies. Resolves Ticket #3 - 'Unable to locate gcc on Snow Leopard during installation'.
Read the rest of this entry

WebROaR v0.2.4 - Bugfix Release

December 2nd, 2009

We pushed WebROaR v0.2.4 gem to Gemcutter last night with the following fixes:

  • Fixed intermittent crash issue in head while closing client connections by calling close_connection() directly rather than running it through goodbye_watcher in libebb.
  • Renamed on_error callback (introduced by us in libebb) to the more appropriate on_request_parse_error.
  • Fixed install issue on ruby 1.9 caused due to invalid multibyte char.
  • Fixed the incorrect month value in the file name format for gcore dumps.
  • Initialized logging for the worker right as it is instantiated before it connects to the head process.
  • Cleaned up wr_wkr_create() method in head/wr_worker.c.
  • Print logging level as a string in the log files.
  • Fixed invalid pointer being used in 'wr_req_resolve_http_req' function.
  • Fixed creation of rack.input stream object. Resolves Ticket #2 related to error seen on posting form with enctype="multipart/form-data".
  • Ensured 'starling-starling' gem is used by WebROaR even if 'starling' is present on the system.
Read the rest of this entry

Why?
Why write this post in the first place?
To showoff your cool stuff?
To deride the other perfectly good software?

No, the only reason I am writing this post is to back up our statement that WebROaR is generally much faster than all other comparable deployment stacks. The aim is to provide real world data and insights in to our benchmarking procedure for everyone. Honestly, there is not much fun in performing this long experiment, as we programmers do have very short attention spans. (Oh wait, let me see HN/programming reddit once again ...).

The results of this comparison should be just taken as an indicator and should act only as one of the many data points in coming up with your own conclusion about Rails deployment stacks. If you are seriously interested to know the performance numbers of your application, please do try this experiment at home. :-)

Read the rest of this entry

We are happy to announce the first public open source release of 'WebROaR - Ruby Application Server'. This product is available for free use under GPL v3.

WebROaR aims to make the deployment of Ruby on Rails™ applications more simple, and provide an integrated solution to monitor the performance of the application and track its exceptions. This is facilitated by a simple and easy to use admin panel of the server.

It also is the best performing server as per "our" benchmarks. We absolutely encourage you to perform your own tests and then arrive at a conclusion. :-)

Read the rest of this entry