Belajar NetBSD - Performance & Optimization
Episode 19 of 23

Belajar NetBSD - Performance & Optimization

Memeras performa NetBSD: tuning sysctl untuk kernel, VM, dan network, memantau sistem dengan systat dan top, serta membandingkan FFS dengan ZFS sebagai opsi storage.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 18 sebelumnya kita telah membawa NetBSD ke dunia virtualisasi. Kini saatnya memastikan sistem yang berjalan itu berjalan secepat dan seefisien mungkin. Pada episode ini kita akan membedah performance dan optimization di NetBSD — tuning sysctl untuk kernel, VM, dan network, memantau sistem dengan systat dan top, serta membandingkan FFS dengan ZFS sebagai opsi storage.

Prinsip Dasar: Ukur Dulu, Tuning Kemudian

  1. Ukur kondisi baseline dengan tool monitoring.
  2. Identifikasi bottleneck (CPU, memori, disk, network).
  3. Tuning parameter yang relevan, satu per satu.
  4. Ukur ulang untuk memastikan perbaikan.
Melakukan update sysctl
sysctl hw.ncpu
sysctl hw.physmem
Contoh output
hw.ncpu = 8
hw.physmem = 8471793664

Monitoring dengan top dan systat

top

top menampilkan proses dan penggunaan resource secara real-time:

Memantau proses secara real-time
top
Contoh output top
load averages:  0.13,  0.08,  0.05
10 processes:  9 running,  1 idle
CPU states:  2.4% user,  0.0% nice,  1.8% system,  0.0% interrupt,  95.8% idle
Memory: 4096M Act, 340M Inact, 370M Wired, 30M Exec, 3056M Free

systat

systat adalah tool monitoring NetBSD yang lebih dalam. Beberapa tampilannya:

TampilanFungsi
systat vmstatStatistik memori dan paging
systat netstatLalu lintas network
systat iostatStatistik I/O disk
systat swapPemakaian swap
Memantau I/O disk secara real-time
systat iostat
Contoh output systat iostat
     disk0      disk1
 KB/t  tps   KB/t  tps
 32.5  12.3  12.1  3.4

Tuning sysctl

Tuning Kernel Umum

Parameter dasar yang sering disesuaikan:

Menampilkan beberapa parameter kernel
sysctl kern.maxvnodes
sysctl kern.maxfiles
Contoh output
kern.maxvnodes = 52326
kern.maxfiles = 10480
Menyesuaikan batas file dan vnode
sysctl -w kern.maxfiles=524288
sysctl -w kern.maxvnodes=262144

Tuning Virtual Memory

NetBSD mengelola memori dengan rajin. Untuk beban yang banyak membaca/menulis, perhatikan cache dan paging:

Melihat pengaturan VM
sysctl vm.vm.vm_page_free_min
sysctl vm.vm.vm_page_free_target
Contoh output VM
vm.vm.vm_page_free_min = 512
vm.vm.vm_page_free_target = 2048

Tuning Network

Parameter network paling berpengaruh adalah buffer — terlalu kecil menyebabkan retransmisi, terlalu besar memakan memori:

Melihat buffer network
sysctl net.inet.tcp.sendspace
sysctl net.inet.tcp.recvspace
Contoh output
net.inet.tcp.sendspace = 32768
net.inet.tcp.recvspace = 65536

Untuk link berkecepatan tinggi (1 Gbps ke atas), naikkan sendspace:

Menyesuaikan buffer TCP
sysctl -w net.inet.tcp.sendspace=131072

Aturan praktis buffer TCP: sekitar Bandwidth x RTT (bandwidth-delay product). Untuk menentukan RTT, gunakan ping:

Mengukur RTT ke server
ping -c 5 10.0.0.2
Contoh output ping (min/avg/max)
round-trip min/avg/max/stddev = 0.421/0.513/0.672/0.079 ms

Warning

Naikkan buffer network hanya jika benar-benar butuh — buffer besar memakan memori kernel per koneksi. Dengan ribuan koneksi, satu koneksi 128 KB berarti ratusan MB memori. Tuning harus proporsional dengan skala beban.

Membuat Tuning Permanen

Perubahan sysctl -w hilang saat reboot. Untuk permanen, tulis di /etc/sysctl.conf — file ini dibaca saat boot:

Isi /etc/sysctl.conf
kern.maxfiles=524288
kern.maxvnodes=262144
net.inet.tcp.sendspace=131072

Tuning Storage

Opsi Filesystem

FFS menerima opsi mount yang memengaruhi performa. Melihat opsi aktif:

Melihat opsi mount aktif
mount | grep ffs
Contoh output
/dev/wd0e on /usr type ffs (local, nodevmtime, noatime)

Opsi yang umum dipertimbangkan:

OpsiEfek
noatimeTidak memperbarui waktu akses — kurangi I/O tulis
nodevmtimeTidak menulis waktu ke perangkat — mirip noatime
norelatimeNonaktifkan relatime (default)

Contoh menambah noatime di /etc/fstab untuk partisi /var yang sering dibaca:

Baris fstab dengan noatime
/dev/wd0f   /var         ffs     rw,noatime  1 2

FFS vs ZFS

ZFS tersedia di NetBSD sebagai package (zfs). Keduanya punya kelebihan berbeda:

AspekFFSZFS
Kematangan di NetBSDDefault, sangat matangPort, stabil untuk penggunaan umum
Checksum dataTidak otomatisYa (deteksi korupsi)
SnapshotMelalui fsck -tBawaan, sangat mudah
RAID/volumeButuh cciss/cgd + raframeBawaan (mirror, raidz)
KompleksitasSederhanaLebih kompleks
Install ZFS dari pkgsrc
cd /usr/pkgsrc/filesystems/zfs
make install clean

Alur Tuning yang Disarankan

LangkahAksi
1Ukur baseline dengan top, systat iostat, systat netstat
2Identifikasi bottleneck dominan
3Ubah satu parameter di /etc/sysctl.conf, lalu reboot atau sysctl -w
4Ukur ulang dan bandingkan
5Simpan hanya perubahan yang terbukti membantu

Penutup

Pada episode 19 ini, kalian telah memeras performa NetBSD: memantau sistem dengan top dan systat, melakukan tuning sysctl untuk kernel, VM, dan network, membuat tuning permanen di /etc/sysctl.conf, serta membandingkan FFS dengan ZFS untuk kebutuhan storage.

Inti yang harus dibawa pulang:

  • Ukur sebelum tuning: baseline dulu, satu perubahan setiap kali, ukur ulang.
  • Pantau dengan top (proses) dan systat iostat/netstat (I/O, network).
  • Tuning umum: kern.maxfiles, net.inet.tcp.sendspace — sesuaikan buffer dengan bandwidth-delay product.
  • Tuning permanen ditulis di /etc/sysctl.conf.
  • FFS untuk default, ZFS jika butuh checksum/snapshot/RAID terintegrasi.

Di episode 20 selanjutnya kita akan menyelami jiwa NetBSD: embedded, ARM, dan portability deep-dive — menjelajahi dukungan arsitektur seperti arm64, riscv, dan evbarm, membangun cross-arch, serta penggunaan pada SBC dan legacy hardware. Sampai jumpa di episode 20!

Belajar NetBSD - Performance & Optimization | Belajar NetBSD