Some Gems I found very useful
#for development seems faster :)
group :development do
gem 'puma'
end
#create cronjob for you
group :production do
gem 'whenever', :require => false
end
wheneverize .
This will create an initial config/schedule.rb file for you.
whenever --update-crontab
#delayed jobs
gem 'daemons'
gem 'delayed_job_active_record'
#ActiveResource
#40% speedup using Nokogiri!
gem 'nokogiri'
gem 'activeresource-persistent', :require => 'active_resource/persistent'
# for pagination
gem 'will_paginate', '~> 3.0.0'
#easy file attachment library for Active Record
gem 'paperclip'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
Monday, October 1, 2012
Optimized Configuration for NGINX and Ruby on Rails
Enable gzip compression
Speeds up spawn time tremendously
Keep the spawners alive, which speeds up spawning a new Application
Let nginx handle assets and caching
Disble logs when accessing assets
To test compression:
curl --head -H "Accept-Encoding: gzip" http://example.com
passenger_root /Users/altair/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12;
passenger_ruby /Users/altair/.rvm/wrappers/ruby-1.9.3-p194/ruby;
passenger_spawn_method smart;
rails_app_spawner_idle_time 0;
rails_framework_spawner_idle_time 0;
passenger_pool_idle_time 1000;
passenger_max_pool_size 2;
gzip on;
gzip_http_version 1.1;
gzip_comp_level 1;
gzip_proxied any;
gzip_vary on;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 2500;
server_name localhost;
passenger_enabled on;
root /Users/martiancrafts/Documents/www/build_server/public/;
#rails_env development;
location ~ ^/assets/ {
access_log /dev/null;
gzip_static on;
expires max;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
}
Enable gzip compression
Speeds up spawn time tremendously
Keep the spawners alive, which speeds up spawning a new Application
Let nginx handle assets and caching
Disble logs when accessing assets
To test compression:
curl --head -H "Accept-Encoding: gzip" http://example.com
passenger_root /Users/altair/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12;
passenger_ruby /Users/altair/.rvm/wrappers/ruby-1.9.3-p194/ruby;
passenger_spawn_method smart;
rails_app_spawner_idle_time 0;
rails_framework_spawner_idle_time 0;
passenger_pool_idle_time 1000;
passenger_max_pool_size 2;
gzip on;
gzip_http_version 1.1;
gzip_comp_level 1;
gzip_proxied any;
gzip_vary on;
gzip_disable "MSIE [1-6].(?!.*SV1)";
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
server {
listen 2500;
server_name localhost;
passenger_enabled on;
root /Users/martiancrafts/Documents/www/build_server/public/;
#rails_env development;
location ~ ^/assets/ {
access_log /dev/null;
gzip_static on;
expires max;
add_header Cache-Control public;
add_header Last-Modified "";
add_header ETag "";
break;
}
}
Subscribe to:
Posts (Atom)