View Full Version : [ubuntu] 8.04 LTSP performance suggestions
mixersoft
November 29th, 2008, 12:57 PM
Hello,
I'm playing with LTSP and would like suggestions how to best configure a multi-user configuration for high performance.
The application is for photo-sorting with the following characteristics:
all clients connected by GigE over copper
1GB RAM is plenty for app, swap space is not an issue(?)
photos about 80Kb, thumbnails 2Kb
BUT the user/client creates ~2000 thumbnails on photo import, and stores in user $HOME
should support ~10 peak concurrent users
currently just 1 SATA HDD, no RAID
just 1 eth controller
The system is very fast with only 1 client, but when I have 2 clients, I notice that 1 client imports slowly while the 2nd client imports/creates thumbs at normal speed. I suspect that this is an HDD concurrency issue, and will be even worse with more users.
Where should I look to solve my concurrency prob?
RAID XX disk config
separate NFS server for photos
$HOME dir on cheap 1GB USB thumb drives
multiple eth controllers on server
something else?
Can anyone suggest what I should look at first? Will a 2 disk RAID config be any help with >2 concurrent imports? Does LTSP work better when data and OS/App are on different servers or HDDs?
Many thanks.
lievendp
December 2nd, 2008, 09:20 AM
Hi,
I wonder if you could check the load on the server when 1 or 2 clients are working on the same files? (try top) There you can get an indication of what's going on on the server-side. (look for wa to see if harddisk access is an issue)
Also you can check with iftop on the server if bandwith usage is an issue.
For more clarity, also look into the top and iftop on the thin clients.
Raid will rarely speed up disk issues, maybe raid 0 might give a little push but don't expect raid to improve disk performance. (it's a high-availability thing)
Keeping os and application on different mounts/disks will probably not help much.
hope this helps you find out what's going on.
rgds,
Lieven
mixersoft
December 3rd, 2008, 01:13 AM
Hi,
I wonder if you could check the load on the server when 1 or 2 clients are working on the same files? (try top) There you can get an indication of what's going on on the server-side. (look for wa to see if harddisk access is an issue)
Also you can check with iftop on the server if bandwith usage is an issue.
For more clarity, also look into the top and iftop on the thin clients.
rgds,
Lieven
top and iftop are neat utils. thanks for pointing them out. However, I don't see anything called 'wa' for looking at harddisk contention.
I'm running a test and it looks like there is more cpu usage than I expected, about 140% with 2 users. But it still doesn't explain why one seems to import photos really fast while the other is plodding along.
I'd like to see what is happening on the client, but top only seems to show me what's happening on the ltsp server. is there a different way to invoke top or iftop -- or even the system monitor -- to see what is happening on the client? If I run system monitor from the client I see 2 cpus, and I know that client only has 1.
m.
lievendp
December 3rd, 2008, 04:34 AM
To login to the client you need:
You're using ltsp v5?
- chroot into /opt/ltsp/i386 (or other location of the thin client)
- install the openssh-server software in the chroot (which is the client) Make sure you have appropriate sources. apt-get update, apt-get install, .. (or alternative depending on distro)
- create a root password in the chroot (= the client)
- Then ssh into the client (you need to find it's ip in your dhcp leases file)
All this but more clear can be found at different locations.
- http://wiki.ltsp.org/twiki/bin/view/Ltsp/WebHome
- http://www.ltsp.org/
- google etc.
I know that the documentation is fragmented all over the web which makes ltsp quite complicated. (as far as I know it) It took me weeks to get a working system and still I'm struggling with various issues myself. (like printing and usb local devices) Learned a lot in the process, though. It requires a reasonably in-depth knowledge of the workings of a linux os itself.
Sorry if this is not really helping.. I hope the web-info can help you further or maybe someone else on this forum who knows more about ltsp?
cheers!
mixersoft
December 3rd, 2008, 04:52 AM
http://wiki.ltsp.org/twiki/bin/view/Ltsp/LocalApps
Hey, I just discovered the whole concept of LocalApps. This was not an obvious option -- I would have thought LocalApps would be the default.
This must explain why my client can see 2 CPUs. I think this changes things a bit.
m.
mixersoft
December 5th, 2008, 08:35 AM
In hopes of testing out ltsp LocalApp, I updated my chroot (to Ibex) and now the usb mouse/keyboard won't work on the client. Before I reinstall everything, can you offer me a guess as to which config has a better chance of working with decent performance?
1) Ltsp configuration with:
server: PXE boot + photos on ltsp server over GigE,
client: Google Picasa (via Wine) running as a LocalApp , and $HOME (~/.google), on a local USB flash drive for caching thumbnails. (is this "easy" to configure?)
2) Ubuntu Ibex (8.10), Picasa/wine and $HOME all on USB drive. Photos on server via GigE.
For me, I think the advantage of #2 is easier config, but I waste maybe 1Gb of OS on the USB drive.
In both cases, I get to use a diskless client (cheap) and push the CPU cycles onto the client (Celeron 440, plenty fast for this app)
lievendp
December 8th, 2008, 05:46 AM
I suppose the second option will work as well as the first and maybe faster but you'll have to upgrade every usb stick when you make changes to the os or so.
But for the ltsp and localapps part, I'm currently having a difficult time figuring that out myself. (didn't get it to work as I want it yet)
So option 2 would be most easy I guess...
gtdaqua
December 8th, 2008, 07:33 AM
....
Will a 2 disk RAID config be any help with >2 concurrent imports? ...
....
Of course RAID will change the performance drastically. Adding more memory or cpu power is not going to help if the hdd cannot read or write at a corresponding speed.
Go for RAID-1 if you are worried of data availability in case of an hardware crash. Go for RAID-0 if you want double or triple your performance.
Seeing that you are using one HDD and so not worried about availability, you could consider going to RAID-0.
Also, in a thin-client--server environment, network traffic is going to be above normal. Which means, every data that passes through the GigE network must reach the destination (HDD). So the HDD's performance (on the server) is quite important.
For e.g. if a client is pulling data at 25MB/s, the 2nd one will stall. The server cant help even if it is running Four-socket Quad with 128GB RAM. Because the single SATA HDD can handle only 25MB/s (avg).
On a RAID-0, you can easily double this transfer rate. More HDDs you add to a RAID-0, greater the performance because the RAID controller will distribute the data to all HDDs in the array.
One drawback of RAID-0 is, performance comes at the cost of availability. Even if one HDD fails in the array, the entire array is lost. So backup your data on a separate device everyday.
mixersoft
December 8th, 2008, 11:05 AM
On a RAID-0, you can easily double this transfer rate. More HDDs you add to a RAID-0, greater the performance because the RAID controller will distribute the data to all HDDs in the array.
One drawback of RAID-0 is, performance comes at the cost of availability. Even if one HDD fails in the array, the entire array is lost. So backup your data on a separate device everyday.
Thanks! this is the type of insight I was looking for on RAID.
djsephiroth
February 2nd, 2009, 12:41 PM
You could also go with RAID5 or 0+1 to get both speed and fault tolerance. Neither one is as cheap as a simple 2-drive RAID0/1 setup, but you get what you pay for. The server we're looking at for our new LTSP lab will most likely use RAID5.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.