KDE not usable in LTSP fat mode, too I/O traffic
marco Mailing List @ ammdomus
marcoml at ammdomus.it
Sun Sep 30 15:00:41 UTC 2012
kubuntu 12.04 + SC 4.9.1
Hi, I deploy KDE in some schools with LTSP setup, I think LTSP is a
great solution and KDE... well.. I love it.
LTSP should be great also for business, so is something we should not
ignore, OMHO.
In short, LTSP can be setup as "Thin client" way, so clients merely load
a essential GNU/Linux environment just to run a local X-Window server
and all computation is done on the server, or as "FAT client" way.
In FAT client you can think each client as a stand alone PC with a
GNU/Linux installation read from the server through NBD, and read/write
mounted directories, like /home and in my case /var/tmp, accessed
through sshfs.
In "thin client" I've everything ok, in "fat client" is not usable, and
fat clients is the more scalable option and much better for schools (you
don't have to buy a superpowerful server).
I've asked in #kde-edu and other IRC channel, and people has told me to
post in this ML.
I'm not a developer, nor a guru, but I use GNU/Linux since long time and
I know how to use the shell or config networking etc.. I'm very open to
suggestions of modifications or how to do better tests.
I've to add that unfortunately LTSP developers use Gnome and not KDE and
I've not found in IRC chat KDE devs that use LTSP.
The problem I'm facing is also present in normal stand alone PC, but
there has less impact since there is fewer I/O (something to
investigate) and, more important, the I/O is faster.
In fact my fat clients have a 100Mbs connection to the server (so 10MB/s
theoretical I/O speed) compared to a local sata that can typically give
sustained 50MB/s.
Also the server HD, being a simple sata, can't respond very quickly to
multiple requests, even if a lot is cached by GNU/Linux (or should be so).
In short, from LDM login screen to a working DE, iftop with KDE shows a
600MB of data transfer (sigh!), while with Gnome I've been reported a
transfer of only 35-60MB (that explains why Fat configuration works fine
for them)!
When teacher uses the lab, and I've 24PC that login, 600MB * 24 = 14GB
of data transferred. That means that pure data through lan takes 1
minute for each client, and pure data got from HD takes 4.8 minutes.
But the combined effect is that you have the lab agonizing for 15 or
more minutes, with children screaming and teachers desperate :)
I've setup KDE globally so that in each account:
- akonadi will use sqlite3 (mysql would have created a 100MB empty
database, at least was so in older KDE released, so even for thin
clients I moved to sqlite3)
- nepomuk is disabled (to save CPU / HD / whatever)
- default oxygen theme (I've also tested with more lightweith one once,
but the I/O was the same)
- I had to mount, beside /home, also /var/tmp since with the LTSP param
"FOLLOW_SYMLINKS=True" KDE does not log (error "Call to lnusertemp
failed (temporary directory full?)", but this another story)
- I've tested with NFS instead of sshfs, but same problem
With user "marco", the /var/tmp cache (btw, why not use ~/.cache? Don't
think in debian it's ever emptied, maybe in RedHat once a month) is:
/var/tmp/kdecache-marco
-rw-rw-r-- 1 marco marco 11M set 27 01:25 icon-cache.kcache
-rw-rw-r-- 1 marco marco 1,8M set 27 00:43 ksycoca4
-rw-rw-r-- 1 marco marco 81M set 27 01:25 plasma_theme_default.kcache
so at least bout 100MB are wrote for sure at the first login, that is in
any case a lot of data.
The test below been done with iftop -ni eth1, where eth1 is the
dedicated, 1Gbit interfaces that serve the clients (eth0 goes to wan).
The client is a 2GB RAM, 100Mb/s lan laptop.
The user is a brand new one.
TX: cum: 752MB peak: 90,1Mb
RX: 39,5MB 11,6Mb
TOTAL: 791MB 102Mb
Rebooting server and client, and re-doing the test (so with /var/tmp
populated) I got:
TX: cum: 710MB peak: 90,2Mb
RX: 29,5MB 4,10Mb
TOTAL: 739MB 93,6M
so seems not to make a difference
(consider that is measured from the server, so RX is data received from
the client and probably wrote to HD, while TX is data sent and read by
the client)
I'm not (yet) able to login as root in the FAT client due to some
problem, but I've recorded with my cell phone the local root console
during LDM to plasma phase, and the processes I've seen with iotop -o
are like buildsyscoca, kconf_update, plasma-desktop, krunner, kmix
(why?), kdeinit4, etc., nothing strange.
The user ~/.xsession-errors is small (some KB, nothing huge).
I was wondering if that was a LTSP problem or a general one, so I tested
with iostat in a KVM VM (I'm really open for suggestions about what is
the better tool to troubleshoot the issue).
Consider that if you run KDE locally in a workstation, so login in ssh
to run iostat and then login from KDM (that I think already loads some
libs needed by KDE, contrary to LDM in LTSP),
you have a considerable I/O as well:
Measure local I/O with iostat (tested in a VM):
after login, done logout, start measure and then log in:
read: 0.01 MB
write: 1.80 MB
logging in a brand new account (empty home):
read: 57 MB
write: 209 MB
VM just restarted, login in an account already used:
read: 124 MB
write: 1.6 MB
Probably you need a lot more details, or you can test the stuff locally
(since seems that in any case there is a lot of I/O that LTSP just makes
worse), just ask and possibly tell me how obtain the result.
Thanks a lot for your attention
Marco Menardi
(btw, I can check the email and do some test only after 9pm, UTC + 1
from monday to thuesday, random the other days)
More information about the Plasma-devel
mailing list