~sirn/ansible-freebsd-tuning

Ansible role for tuning FreeBSD host
build: really fix build
build: cryptography python module now requires rust

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~sirn/ansible-freebsd-tuning
read/write
git@git.sr.ht:~sirn/ansible-freebsd-tuning

You can also use your local clone with git send-email.

#ansible-freebsd-tuning

builds.sr.ht status

Tune FreeBSD with few common configurations.

  • TCP: switch congestion control algorithm (default: htcp)
  • TCP: several TCP tunings
  • Sysctl: enable usermount
  • Sysctl: adjust maxfiles/maxvnodes

#Variables

#tuning_cc_algorithm
tuning_cc_algorithm: htcp

Must be one of:

  • chd see man 4 cc_chd
  • cubic see man 4 cc_cubic
  • hd see man 4 cc_hd
  • newreno see man 4 cc_newreno
  • vegas see man 4 cc_vegas
  • htcp see man 4 cc_htcp

When set to htcp, adaptive backoff and RTT scaling will be turned on by default.

#tuning_disable_tsc_calibration
tuning_disable_tsc_calibration: false

Disable TSC calibration; this may be needed in some cloud services when clock become out of sync.

#tuning_vfs_usermount
tuning_vfs_usermount: false

Enable user to run mount (e.g. in case of FUSE or CDROM)

#tuning_soacceptqueue
tuning_soacceptqueue: 1024

Adjust the size of the listen queue for accepting new TCP connections. To adjust this variable, run netstat -Lan and take notice of qlen. If qlen is higher than maxqlen then consider raising tuning_soacceptqueue. Note that at certain point (e.g. > 4096) it might make more sense to solve throughput on the application side instead of keep raising this value.