-
Notifications
You must be signed in to change notification settings - Fork 59
Performance
Tests based on LTSP 20.3+ under Debian 10.
Server
Virtual Machine using KVM with 32 CPU threads and 50GB RAM.
The Server runs Debian Buster has a 10Gbit/s link to a HP Procurve Managed Switch in which all thin clients connect to via 1Gbit/s connections.
Client
Motherboard | Shuttle DS77U |
CPU | i3-7100 |
RAM | 8GB |
NIC | 1Gbit/s |
Test performance blank screen on login
Time | |
---|---|
LTSP 20.3 | 33s |
disable nfs-server & add firmware-realtek | 30s |
lzo image | 28s |
xz image | 45s |
zstd image | 25s |
dd to RAM in pre_initrd & zstd image | 5s |
image to ram | broken |
Cold | Warm | |
---|---|---|
Initially LTSP 20.1 | 15s | 3s |
LTSP 20.3 | 9s | 2s |
dd to RAM in pre_initrd | 9s | 2s |
dd to RAM in pre_initrd & zstd image | 4s | 1.5s |
image to ram | broken |
Create config
install -m 0660 -g sudo /usr/share/ltsp/common/ltsp/ltsp.conf /etc/ltsp/ltsp.conf
Add to /etc/ltsp/ltsp.conf [clients] section
PRE_INITRD_BOTTOM_IMAGE_TO_RAM="dd if=/root/images/x86_64.img of=/dev/null &"
Update settings
ltsp initrd
I found that most applications started very fast once I used ‘dd to RAM’. Applications like libreoffice and firefox started within a few seconds. However applications which required a lot of files to be loaded took longer than usual. Emacs and git were two of these programs.
I ran a number of tests using different ways to mount the file system and here are the results I found;
Test Environment
debian10-ltsp | Debian 10 |
old LTSP | Debian 8 |
emacs version | 26.1 |
files in emacs config | 79MB 4846files |
files in agenda | 435MB 1538files |
Performance Test Results
Start | Agenda | Agenda | |
secs | cold | warm | |
---|---|---|---|
Fat-client NFSv3 -> debian10-ltsp NFSv3 -> old LTSP | 105 | 103 | |
debian10-ltsp VM direct NFSv3 -> old LTSP | 18 | 61 | |
debian10-ltsp VM direct w/local files | 3 | 40 | 6 |
Fat-client NFSv3 -> debian10-ltsp w/local files | 15 | 37 | 5 |
Fat-client NFSv4 -> debian10-ltsp w/local files | 14 | 43 | 5 |
Fat-client NFSv4.2 -> debian10-ltsp w/local files | 13 | 36 | 5 |
Fat-client NFSv4.2 -> LTSPHOST “metal” | 11 | 46 | 5 |
Fat-client NFSv4.2 -> old LTSP | 20 | 56 | 5 |
Fat-client ssh -X -> debian10-ltsp to emacs | 4 | 39 | 6 |
Fat-client Samba -> debian10-ltsp w/local files | 49 | 162 | 6 |
Fat-client SSHFS -> debian10-ltsp w/local files | 27 | 157 | 5 |
old LTSP VM direct w/local files | 4 | 42 | |
Thin client -> old LTSP VM w/local files | 4 | 40 | 6 |
/etc/ltsp/ltsp.conf
FSTAB_HOME="server:/home /home nfs4 nfsvers=4.2,defaults,nolock 0 0"
- [X] Test different rsize values = no real difference
rsize Start Agenda Agenda & wsize secs cold warm 1048576 1M 13 36 5 4096 4k 13 37 5 8192 8k 16384 16k 32768 32k 65536 64k 15 37 5 NOTE: Default it’s 1048576 The general idea here is the larger the number the better for streaming, whilst the lower the number the better for random reads.
Setting it to 4k
FSTAB_HOME="server:/home /home nfs4 nfsvers=4.2,rsize=4096,defaults,nolock 0 0"
No real difference so keep using the default.