10 Tips Instalasi Server Linux agar Memiliki Performa yang Bagus
Ada beberapa pertimbangan yang patut diperhatikan jika ingin melakukan instalasi Linux yang memiliki kualifikasi High Performance, antara lain :
- Processor
Processor sebaiknya 64 bit dan mampu mendukung Virtualization Tecnology, apalagi jika ditujukan untuk keperluan server virtualisasi/cloud computing.
Disable hyper-threading. Jika CPU memuat pilihan Hyper-threading, disable pilihan ini. - RAM
Gunakan RAM yang mencukupi agar tidak terjadi penggunaan disk untuk swap. Penggunaan swap bisa dicheck dengan perintah free -m sedangkan untuk disable dapat dilakukan dengan menambahkan pilihan vm.swappiness=0 pada file /etc/sysctl.confDisable swap akan mempercepat proses karena semua perhitungan dilakukan melalui memory, namun HANYA disable swap jika jumlah memory mencukupi. Jika tidak, ada kemungkinan server hang akibat memory yang tidak mencukupi - Disk
- Jangan gunakan RAID 5. RAID 5 memang menyediakan kapasitas lebih besar namun menurunkan IO performance.
- Jangan menggunakan NFS protokol sebagai penyimpanan data
- Jangan menggunakan harddisk SATA karena meski menyediakan kapasitas lebih besar, kecepatannya kalah dengan harddisk SCSI dan SAS
- Gunakan harddisk lebih kecil namun lebih banyak. Harddisk 2 x 147 GB akan lebih bagus performanya dibandingkan harddisk 1 x 300 GB
- Gunakan SAN (Storage Area Network) dengan ukuran cache yang besar untuk penyimpanan data
- Jika mendukung, gunakan NVRAM. NVRAM atau non-volatile RAM mempercepat proses penulisan data
- Jangan menggunakan Drive Caches. Disable pilihan ini karena dapat menyebabkan data hilang dan tidak bisa direcovery jika terjadi mati listrik secara mendadak.
- Instalasi Minimal. Jika tidak memerlukan aplikasi GUI tertentu, install sistem secara minimalis. Beberapa distro Linux menyediakan tipe instalasi JeOS (Just Enough Operating System) yang sangat minimalis.
- Instalasi Appliance. Beberapa sistem bisa dijalankan secara virtual dan sudah tersedia aplikasi minimalis untuk itu, misalnya khusus LAMP Server, khusus minimal dll. Kita hanya perlu melakukan deployment dan mengaktifkannya
- Services
Gunakan perintah chkconfig –list | grep on untuk menampilkan semua service yang sedang berjalan. Pastikan tidak ada service berjalan yang sebenarnya tidak digunakan dengan perintah ps -ef
Beberapa service yang bisa didisable :
Beberapa perintah untuk check services :
lsof: Untuk check file dan koneksi network yang sedang dipergunakan
tcpdump: Sniff network traffic.
iostat: Monitor IO statistics
vmstat: Monitor penggunaan CPU/memory
`
Apa saja service yang tidak dipakai ? Tentu mesti disesuaikan dengan kebutuhan tapi list berikut mungkin bisa membantu :aaeventd : Kalau tidak pernah menggunakan AppArmor, disable saja. Jika disable service ini, disable juga service boot.apparmor
acpid : biarkan
alsasound : biarkan
atd : disable
auditd : disable
autofs : disable
autoyast : disable
cron : biarkan
cups : jika ada printer, biarkan. Jika tidak, disable)
cupsrenice : sesuai setting cups
dbus : biarkan
earlykbd : biarkan, ini untuk keyboard, kecuali kamu nggak mau pakai keyboard, hehehe…)
earlykdm : biarkan
earlysyslog : biarkan
esound : disable
fam : disable
fbset : disable
gpm : disable
gssd : disable
haldaemon : biarkan
idmapd : disable
joystick : disable (kecuali memakainya untuk games yang membutuhkan joystick)
kbd : biarkan (ini juga service untuk keyboard)
ksysguardd : disable
lirc : disable
lm_sencors : disable
mdadmd : disable
mdnsd : disable
mircocode (Jika menggunakan processor AMD CPU disable, biarkan jika menggunakan processor intel)
network : biarkan
nfs : disable (Lakukan disable service portmap terlebih dahulu)
nfsboot : disable
nfsserver : disable
nmb : disable
novell-zmd : disable
nscd : disable
ntp : disable
openct : disable
pscsd : disable
portmap : disable
postfix : disable, kecuali pakai mail server
powerd : disable
pwersaved : disable, kecuali butuh untuk suspend komputer
random : biarkan
raw : disable
resmgr : biarkan
rpasswdd : disable
running-kernel : disable, ini bukan si kernelnya melainkan pilihan untuk switch
saslauthd : disable
smb : disable
smbfs : disable
smpppd : disable
spamd : disable
splash : biarkan
splash_early : biarkan
SuSEfirewall2_setup : biarkan
svcgssd : disable
syslog : biarkan
xdm : biarkan
xfs : disable
xinetd : disable
ybind : disable - File Descriptors Limit. Jika menggunakan file yang cukup banyak, check file /etc/security/limits untuk mengecek maksimum jumlah file yang bisa dibuka secara bersamaan. Jika jumlah file yang diproses tidak mencukupi, server bisa hang. Dalam kondisi normal, batasan ini sudah mencukupi namun untuk server-server yang melakukan proses index dan search, hal ini bisa menyebabkan perbedaan yang signifikan
- File System
Gunakan tipe partisi ext3 atau ext4 untuk performance
Mount file sistem dengan opsi noatime. Opsi ini akan mengurangi proses penulisan pada disk subsystem
Tambahkan pilihan pada /etc/fstab
Untuk Ext3 : natime, nodiratime, barrier = 1
Untuk XFS : noatime, nodiratime
Untuk ReiserFS : notail, noatime, nodiratime, barrier = flush - Edit Inittab
Lihat bagian berikut :
# getty-programs for the normal runlevels
# ::: # The “id” field MUST be the same as the last
# characters of the device (after “tty”).
1:2345:respawn:/sbin/mingetty –noclear tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
Non aktif pada tty3 dan seterusnya dengan memberi tanda # didepan pilihan, kecuali port tersebut memang benar-benar dipakai. Tty adalah port yang menyediakan akses konsole yang bisa dijalankan dengan menekan tombol ALT+F2 s/d ALT+F6. Feature ini bermanfaat kalau kita menggunakan akses multi terminal atau untuk keperluan check sistem, namun frekuensi pemakaiannya biasanya jarang - Port. Buka port yang digunakan saja, terutama untuk akses dari luar sistem. Jangan aktifkan service yang tidak dibutuhkan dan jangan open port yang tidak ditujukan untuk konsumsi publik. Banyak admin yang salah kaprah dengan mekanisme block, seolah-olah semua service yang berjalan perlu diallow aksesnya. Sebagai contoh, jika saya menggunakan DNS Server untuk keperluan lokal, saya tidak perlu membuka port 53 untuk konsumsi publik karena malah akan menyediakan akses yang tidak perlu.
Demikian beberapa tips diatas, semoga bermanfaat.
kalau tidak pakai raid5, jadinya pakai apa pak?
@Iang, RAID 10 mas. http://www.cyberciti.biz/tips/raid5-vs-raid-10-safety-performance.html
oh raid 10.. tuk bagian 3.1 dan 3.2 mungkin perlu disebut apa alternatif dari raid 5 dan nfs itu apa aja.
thx tuk tulisannya, sangat bermanfaat 😀
@Iang,
Thanks sarannya. Saya akan update sesuai saran plus melengkapi bagian install minimal dengan contoh openvz appliance
Terima kasih atas sharing knowledgenya Mas….
@Kheri ASm=,
Sama-sama mas..