On Sat, Sep 10, 2005 at 06:25:21AM +0700, Budi Rahardjo wrote:
> Saya punya masalah dengan "interpolasi" ini.
> Masalah utamanya adalah kita tidak tahu kompleksitas dari
> sistem email, apakah dia:
> - linear terhadap penambahan user : O(n)
> - kuadratis terhadap penambahan user: O(n^2)
> - polinomial? ... dst.
> Kompleksitas terhadap CPU, network, disk I/O harus dilihat.
> Saya sangat khawatir terhadap disk I/O.
> Ada yang tahu? Atau pernah baca dimana gitu?

in theory, there's no difference between theory and practice,
in practice, there is :-)

untuk keperluan pedagogik, tidak mungkin menjawab
kegelisahan Pak Budi dalam 1x reply. tapi, sebenarnya
yang ada, hambatan itu sifatnya all-or-none. kalau
kita menyentuh limitasi memory, tidak ada jalan keluar,
kalau kita menyentuh limitasi kecepatan disk, tidak
ada jalan keluar, kalau kita menyentuh limitasi CPU,
tidak ada jalan keluar. kenapa? jawabnya gampang,
tidak mungkin kita rally keliling vendor untuk
menjawab pertanyaan Pak budi. barang yang sudah
dibeli tidak dapat dikembalikan :-))

dari sisi software? idem ... dalam situasi ekstrim,
kita akan terjebak dalam bagaimana suatu software
didesain.

coba deh googling cari bagaimana orang develope
mail farm. pertanyaan-2 Pak Budi di atas bbrp kali
dibahas dalam diskusi, tapi tak seorangpun secara
formal berminat mengukur. alasannya sederhana:
tidak mungkin. seandainya mungkin .. sama saja...
tidak ada gunanya.

oleh sebab itu ada istilah skalabilitas horisontal
dan skalabilitas vertikal. secara horisontal, kalau
1 tidak cukup, pakai 2 mesin, 3 mesin dst.. masalahnya
di sini, desain dari implementasi mail farm sangat
menentukan, minimal masalah apa yang bakalan kita
hadapi dari desain yang sudah dipilih bisa kita prediksi.
secara vertikal bagaimana? pakai mainframe :-) sistem
secara internal direplikasi, seperti paper dari malcolm
beattie yang booting 30ribu kernel di satu mesin S/390
(sayang saya lupa url-nya, itu pun kalau masih
belum broken, krn ybs sudah jadi konsultan IBM). ada
diskusi yang menarik antara malcom vs nigel (bapak
dari freenet uk, 10 juta account pakai 9 mesin,
mta pakai exim).

sekarang menjawab pertanyaan: bagaimana performance
sistem bereaksi terhadap penambahan user? linear?
kuadratik? keep it small and simple (pertanyaannya
bukan kerjaannya :-) di sistem yang saya buat seperti
yang saya tulis di mail yang lain, saya buat jutaan
trash mailboxes untuk diuji dengan postal+rabid yang
dijalankan dari mesin yang lain.

penambahan user per se tidak berpengaruh, jadi terasa
kalau derajat konkurensi meningkat (-p di postal/rabid),
diantaranya karena kemampuan kernel men-cache inode
terbatas kalau 'pattern' yang terjadi user mengakses
selalu tidak sama. tapi kalau user 'itu-itu saja',
no problemo. jadi, membahas jumlah account per se
biarlah orang marketing yang berantem.

tentu saja selalu ada limitasi yang tidak bisa kita
hindari kecuali menambah mesin satu lagi ..dst..dst..
pendekatan secara horisontal comes to rescue ...

jadi, interpolasi harus dalam keadaan ceteris paribus,
yang, in practice, tidak ada gunanya. tapi berguna
sekali kalau sekedar mau jitak-jitakan hi..hi..

Salam,

P.Y. Adi Prasaja

Kirim email ke