Random musings from sometimes sunny Ireland John Rice's Weblog

Friday Aug 26, 2005

Well refreshed from summer hols and keen to get stuck into an interesting problem... Be careful what you wish for ;) * JDS login times * When along came a little issue of performance and login times on SunRay servers running Soalris 10 with JDS3. The login time is reasonable on my test system ~30 sec, particulary when you consider many people stay logged in for days, so even a relatively slow login isn't an issue in these cases. So no problem, well not really. Sean Meighan and his team has been doing sterling work on the Canary project - an internal Sun project to gather live data from all of Sun's production Sun Ray Servers, so we have no where to hide anymore. When Sean showed me the data it was very clear, something ain't right. The login times for JDS were centered around 40 secs, but there where lots of people taking much longer than this to login :( So armed with this info we wanted to start taking a closer look. Sean had broken down the login process using key milestones in the login process: namely Xsun to Xsession to Xsession2 to gnome_session to gconfd-2 to metacity to gnome_panel. But I wanted to get a more detailed picture of what was going on during the JDS login. * bootchart for gnome* So I turned to "Eric Schrock and Dan Price's bootchart work":http://blogs.sun.com/roller/comments/eschrock/Weblog/boot_chart_results consisting of various dtrace scripts and a Java program to generate the pretty pictures. With plenty of very useful help from Eric I modified it slightly to just look at the login from XSession-2 to creation of notification-area-applet [as good a place as any to say the user is fully logged on, desktop and applets displayed , all good to go]. The graph below shows the boot sequence of the various elements. The gray bar is elapsed time, the orange highlight indicates amount of time on-cpu for this process. From the graph we can see a number of things of interest [thanks "Brian":http://blogs.sun.com/yippi for the input on this]: * gnome-setings: what are all the xrdb calls about, can this be optimised? * gnome-setings: could this be started async? gnome-session is blocking on it for ~5sec. * gnome-session idle time: can we start things earlier, like bonobo-activation. Can we improve its startup time? * Panel and nautilus: can they make the bonobo request to startup earlier? Give the impression to the user of faster startup. Same thing goes for metacity - sooner it starts sooner user sees their desktop. * Applets: seems heavy cpu users, can this be optimised? * First 2 seconds * But before I get too ahead of myself with all of the above I went back to look at Sean's data broken down for the various portions of the login and saw that never mind the overall login process, just the first few seconds between gnome-session and gconfd was taking lots of users a lot longer than a few seconds to complete. What's going on, well it's off to the production servers armed with a few handy dtrace scripts to start digging into this first portion of the JDS login .... but that's another story and for next weeks blog. I always love a cliff hanger ;)
Comments:

Post a Comment:
  • HTML Syntax: NOT allowed