Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
X GUI

Load Testing X11 Servers? 11

An Anonymous Coward asks: "There is a site that wishes to test more than 450 users running thin-client X on a server without having to have 450 client terminals. Is there a simple method to do this. So far I've thought of the following options: 1) recording X network packets then sending them from multiple dummy 'clients' on the same PC. (This was done during the Mindcraft benchmarking episode by simulating 'netbench'). 2) some sort of scripting process that can simulate typical X11 usage on the server. Unfortunately, expensive load testing software is not an option."
This discussion has been archived. No new comments can be posted.

Load Testing X11 Servers?

Comments Filter:
  • use Xvfb (Score:4, Insightful)

    by steve.m ( 80410 ) on Wednesday April 24, 2002 @08:12AM (#3400445) Journal
    You could start Xvfb [xfree86.org] running on your test client(s), and then fire all 450 sessions off, displaying to the virtual frame buffer(s). You get all the downstream network traffic of the 450 sessions, without having to look at them.
  • by kevin lyda ( 4803 ) on Wednesday April 24, 2002 @09:35AM (#3400864) Homepage
    what you really want to do is test the network, cpu and memory load of 450 clients. the xserver will run on the thin clients, the xclients will run on the application server. first, remember that x allows load balancing - when the xterminal's xserver starts up it can issue an xdmcp request and get a list of available servers with their load. as long as the servers share a common home directory, no worries. plus you can reduce network load by using multiple subnets and so on.

    but your question was, how to test what you describe. look into using xnest, xvnc or xvfb on a few host clients. each instance of those on a host client will be a test client. the more host clients you have the better since that means less test clients per host client. xnest will put a lot of load on the host client but you can use all the fake clients at once (or at least you can see them all at once, you'll still have to move your mouse from one to the other). xvnc will put less load on the host clients, but you'll need to run vncviewers to see each fake client. finally you can use xvfb which will allow you no control over the test client, but will stress the host clients less.

    the latter might actually be easier to test with though. the first test could be to start up 450 xvfb xservers. then start up gnome/kde desktops for 450 users on the application server (with DISPLAY pointed to each of the xvfb xservers). that should test ram requirements. then keeping the desktops running, run x11perf (on the application server) on all the displays. that should exercise network load and cpu.
    • by 4of12 ( 97621 ) on Wednesday April 24, 2002 @10:05AM (#3401000) Homepage Journal

      X windows - where your ideas of client and server get reversed.

      In the old days we made a foray into the leading edge of technology - we bought X terminals, mostly from NCD, some from Tektronix.

      They worked pretty good because the network worked well. It was generally pretty fast and reliable.

      But not fast enough sometimes to get rid of latency from mouseclicks and keyboard events going to X applications running on the application server down the hall.

      So we found that running the X server on the X terminal was made a better environment by also running the window manager on the X terminal. From there, it's only a small step to consider running a few more X applications on the X terminal. Basically, run everything locally where interactive response is of paramount importance, then those applications requiring huge resources like disk access, fast CPU's with lots of memory, down the hall.

      Back in those days our application servers were equipped with less memory and less CPU than my current desktop PC. These days there hardly seems to be any excuse for not running X applications locally. For day-to-day graphics, a PC makes a killer good X terminal, plus a whole lot more.

      I will admit that system administration for the diskless X terminals was easier than for fat client machines, in that all user profiles, applications, data, etc. sat on the big application servers.

      I don't mean to digress too much from your initial question, but do suggest that you look carefully into improving interactive response and decreasing the network load by running as many applications as possible on the local desktops.

  • by dizzyPhoenix ( 122352 ) on Wednesday April 24, 2002 @10:52AM (#3401231) Homepage
    Yep, just make it available on the net and post the address on /.

    I'm sure you'll manage to get some very thorough load testing done ;-)
  • Perl (Score:2, Informative)

    by j-turkey ( 187775 )
    I don't know how much detail that you require from your load test...but for a basic test, this may work.

    Write a series of relatively simple perl scripts distributed across -- say 5 or 10 client machines.

    Check out cpan [cpan.org] for X11 protocol modlues. On each load test host, have your perl script open a bunch of client connections (say, 50-75 per load test client) -- and maybe even launch a few real-world apps (and seed which clients open which apps based on your usage expectations). This will give you a general idea of how well your system runs under load. You can even use perl modules to specific X apps to do some stuff with the client apps that you launch.

    You can easily do data drilling on either your client machines or your X server. For basic results, memory utilization, load, etc. For a little more in-depth data, check out response times, connect times, login times, load times -- all on a number-of-concurrent-connections basis.

    -Turkey
  • by jo42 ( 227475 ) on Wednesday April 24, 2002 @12:20PM (#3401857) Homepage
    Open up your network to the X protocol. Post relevant network info and have thousands of rabid Linux freeks load test it for you.
  • by GiMP ( 10923 ) on Wednesday April 24, 2002 @09:28PM (#3406074)
    x11pref, included with Xfree86 is a great benchmarking utility. If you don't want to test your graphics and only network utilization, use Xvfb rather then rendering to a video device...

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...