Thin, Solusi alternatif web server Ruby
Sudah beberapa bulan lamanya aku jatuh cinta kepada mongrel untuk menangani tugas-tugas harian web server terutama dalam lingkungan “development” Ruby on Rails, tadi siang aku menemukan bahwa ada solusi web server lain yang menarik untuk dicoba namanya adalah Thin, Pembuatnya Marc-Andre Cournoyer, mengklaim bahwa Thin lebih cepat dari mongrel
Thin ini sepenuhnya dibuat oleh Bahasa pemrograman Ruby dengan menggunakan beberapa library, diantaranya adalah Rack, EventMachines dan Ragel, versi terakhir dari thin adalah versi 0.7.0 dengan codename Spherical Cow, untuk menginstallnya cukup mudah, tinggal ketik perintah “sudo gem install thin” (tentu saja jika di windows sudonya dihilangkan)
adit@localhost Webappz]$ sudo gem install thin
Password:
Updating metadata for 57 gems from http://gems.rubyforge.org
…………………………………………………
complete
Building native extensions. This could take a while…
Building native extensions. This could take a while…
Successfully installed rack-0.3.0
Successfully installed eventmachine-0.10.0
Successfully installed thin-0.7.0
3 gems installed
Installing ri documentation for rack-0.3.0…
Installing ri documentation for eventmachine-0.10.0…
Installing RDoc documentation for rack-0.3.0…
Installing RDoc documentation for eventmachine-0.10.0…
[adit@localhost Webappz]$
Penulis sendiri merasa klaim di atas tidak terlalu berlebihan, yg baru penulis rasakan memang thin lebih cepat daripada mongrel (baru merasa duank, belum melakukan benchmark sendiri, abis ndak tau caranya gmn, kawans ada yg tau ? ^_^) , penggunaan di Rails sendiri sama mudahnya dengan menginstallnya, tinggal masuk ke directory RAILS_ROOT lalu melakukan eksekusi perintah, perintah yang sering digunakan oleh penulis adalah sebagai berikut :
thin start = menjalankan thin server di port 3000
thin restart = merestart thin
thin stop = mematikan thin (atau ctrl-C bila thin tidak berjalan dalam mode daemon)
thin start -p 9051 = menjalankan thin di port 9051
thin start -p 9051 -d = menjalankan thin di port 9051 dalam mode daemon (running secara background)
thin start -p 9052 -V = menjalankan thin di port 9051 dan menampilkan apa saja yang di-request oleh aplikasi

thin benchmark
atau kalau anda penasaran, di bawah ini penulis sertakan penjelasan perintah selengkapnya yang diambil dari helpnya thin
Usage: thin [options] start|stop|restart|config|install
Server options:
-a, --address HOST bind to HOST address (default: 0.0.0.0)
-p, --port PORT use PORT (default: 3000)
-S, --socket FILE bind to unix domain socket
-y, --swiftiply [KEY] Run using swiftiply
-e, --environment ENV Rails environment (default: development)
-c, --chdir DIR Change to dir before starting
-r, --rackup FILE Load a Rack config file instead of Rails adapter
--prefix PATH Mount the app under PATH (start with /)
--stats PATH Mount the Stats adapter under PATH
Daemon options:
-d, --daemonize Run daemonized in the background
-l, --log FILE File to redirect output (default: log/thin.log)
-P, --pid FILE File to store PID (default: tmp/pids/thin.pid)
-u, --user NAME User to run daemon as (use with -g)
-g, --group NAME Group to run daemon as (use with -u)
Cluster options:
-s, --servers NUM Number of servers to start
-o, --only NUM Send command to only one server of the cluster
-C, --config FILE Load options from config file
--all [DIR] Send command to each config files in DIR
Tuning options:
-t, --timeout SEC Request or command timeout in sec (default: 30)
--max-conns NUM Maximum number of connections (default: 1024)
Might require sudo to set higher then 1024
--max-persistent-conns NUM Maximum number of persistent connections
(default: 512)
Common options:
-D, --debug Set debbuging on
-V, --trace Set tracing on (log raw request/response)
-h, --help Show this message
-v, --version Show version
saya berharap di masa depan, performancenya bisa ditingkatkan lagi, dan mudah-mudahan bisa layak dijadikan production server, untuk sekarang sepertinya pengembangan thin masih dalam tahap EXPERIMENTAL, so menggunakan thin untuk Production Server tentunya masih beresiko, kecuali kalo hanya untuk Development, ya bolehlah secara performansinya juga lumayan, untuk aku pribad, pada saat ini aku kesampingkan dulu Mongrel dan beralih sepenuhnya ke Thin
note :
- benchmark image diambil dari Staying Alive with Thin
- kabarnya, selain Ruby on Rails, thin juga sudah bisa dijalankan di Framework lainnya seperti Nitro ataupun Merb
2 Comments »
Trackback: Use this URI to trackback this entry. Use your web browser's function to copy it to your blog posting.
Gravatar: You can have a picture at the top of each your comments by getting a Gravatar
RSS feed for comments on this post.
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>




saya gak ngerti ruby, temen2 IT di kantor yang ngerti ruby
salam kenal ya mas
Comment by andrias ekoyuono — March 6, 2008 @ 11:28 am
salam kenal juga
Comment by adit — March 6, 2008 @ 12:19 pm