About Me

Aditya Agustyana, 24 tahun yang sekarang ditemani pujaan hati Emiriza, lelaki yang rela tenggelam di lautan Ruby dan Rails, lelaki yang berangan, kagum pada Apple tapi belum punya, lelaki yang bangga tanah lahir Kiaracondong, lelaki yang berharap banyak cita-cita tapi introvert, lelaki yang hobi menggali emas web outsourcing, lelaki yang etc etc dan ada kontak di aditya titik jamop pada gmail titik com

The Apple Way

You can't do it by yourself, no matter how smart you are. Markets move too quickly, technologies grow too complex, and too many smart people are investing too much time and money in innovation. And, by the way, lots of those smart people are working in teams, trying to beat you out. (Steve Jobs)




February 29, 2008 12:15 am

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 :D

note :

  1. benchmark image diambil dari Staying Alive with Thin
  2. 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

  1. Gravatar Image

    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


  2. Gravatar Image

    salam kenal juga :)

    Comment by adit — March 6, 2008 @ 12:19 pm


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>



Anti-spam measure: please retype the above text into the box provided.

Komentar Terbaru

Kalender

  • February 2008
    M T W T F S S
    « Jan   Mar »
     123
    45678910
    11121314151617
    18192021222324
    2526272829  

Just Try To Be a Bloggrammer @ Aditya Agustyana 2005-2008, Design By : ThemeStudio