Curl-loader. (Tool test beban web server)

Bagaimana reaksi webserver kalau di kunjungi 100 pengunjung ? Oke dech biar asyik 1500 pengunjung ? :)

AMD Turion64 X2, memory 1 GByte, drupal 5.2, ......semua seting standar plus Slackware 12.... RONTOK oleh 200 pengunjung yang akses secara simultan alias bersamaan.

Drupal macet tidak bisa akses MySQL, PC jadi lambat, .....

Oke, ini hanya sebuah simulasi di komputer local.:P Tool yang saya gunakan adalah curl-loader. http://curl-loader.sourceforge.net.

Apa itu curl-loader ?

    curl-loader (also known as "omes-nik" and "davilka") is an open-source tool written in C-language, simulating application load and application behavior of thousands and tens of thousand HTTP/HTTPS and FTP/FTPS clients, each with its own source IP-address.
    ----
    Curl-loader merupakan tool yang ditulis pakai bahasa C untuk membangkitkan ratusan sampai ribuan client HTTP/HTTPS dan FTP/FTPS. Setiap client punya Ip-address masing2.
    ----

Cara install :

Cara pakai :

  • Seting file konfigurasi:
    file ini terletak di direktory conf-examples. Ubah sesuai keinginan :P Misal contoh file bulk.conf jumlah client maksimal 100. Penambahan client (increment) =1, Range IP Address antara 192.168.2.1--192.168.2.101,dan url yang dituju http://localhost/index.php.

    ########### GENERAL SECTION ################################
    BATCH_NAME= bulk
    CLIENTS_NUM_MAX=100 # Same as CLIENTS_NUM
    #CLIENTS_NUM_START=10
    CLIENTS_RAMPUP_INC=1
    INTERFACE =eth0
    NETMASK=16
    IP_ADDR_MIN= 192.168.2.1
    IP_ADDR_MAX= 192.168.2.101
    CYCLES_NUM= -1
    URLS_NUM= 1
    ########### URL SECTION ####################################
    URL=http://localhost/index.php
    #URL=http://localhost/apache2-default/ACE-INSTALL.html
    #URL=http://localhost/ACE-INSTALL.html
    URL_SHORT_NAME="local-apache"
    REQUEST_TYPE=GET
    TIMER_URL_COMPLETION = 5000
    TIMER_AFTER_URL_SLEEP = 500
  • Sebagai root, jalankan instruksi dibawah ini :
    #curl-loader -f ./conf-examples/bulk.conf
    Hati2 dengan letak file konfigurasi :) Contoh diatas saya menggunakan file bulk.conf yang sudah saya edit.
  • Untuk mengakhiri tekan Ctrl-c. Curl-loader akan menghasilkan file log bulk.log, bulk.txt, dan bulk.ctx untuk dianalisa.

Akhirnya...

    Jangan lupa mengamati file log yang dihasilkan oleh apache, log situs, dan parameter pengujian lain yang diinginkan ....Apakah terjadi bottle neck di memory system ? CPU yang loyo ? konfiguraso PHP yang kurang pas ? MySQL yang tidak optimal ?

    Ada banyak file konfigurasi curl-loader yang bisa di eksplorasi fungsi dan tujuannya.

    Semoga tulisan ini membangkitkan ide pembaca :)

--------
Sejenak Testing drupal 5.2 (localhost)
--------
Konfigurasi drupal 5.2 :
drupal-confdrupal-conf

Tampilan depan :)
frontfront

Hit dalam tempo 400 detik :
hithit
Top:
toptop
proses curl-loader :
curl-loadercurl-loader