Since the Image Packaging System, pkg(5), is a key component of the Update Center 2 Toolkit, there is keen interest on characterizing the performance of the pkg(5) repository server. Investments made by the UC2 project in this regard should complement performance engineering efforts within the pkg(5) project on opensolaris.org. Due to timing and prioritization differences of UC2 and OpenSolaris releases, some pkg(5) performance information may initially appear on the UC2 project site before being incorporated in the pkg(5) project.
Performance of the Update Tool GUI and the associated desktop notifier is being addressed within those subprojects.
Our priorities are:
- Initially, the UC2 project is most concerned about validating the ability of the Python-based pkg.depotd server to handle the loads associated with the JavaOne release of the GlassFish V3 Technology Preview (TP) 2 release.
- Work with the pkg(5) project to establish performance engineering deliverable plans supporting the production quality release of the UC 2.0 toolkit and subsequent minor releases..
Run preliminary tests to validate pkg.depotd's ability to support the projected workload based on using a system that is similar to the production repository server.
- Sheer load is supported by the repository server without failure
- Response time requirements are met
The lab systems used for performance testing are:
- jesarch-hv-0.czech.sun.com # X4150 (server)
- jesarch-hv-2.czech.sun.com # X4140 (client)
Based on the initial performance results, begin to establish guidelines for sizing pkg(5) package repositories.
Eventually include deployment strategies to help meet load requirements. e.g. load balanced configurations.
From Dan Price on Dec 5, 2008:
We have also been proactively stress testing the bits today. So far,
we've seen that we can handle 1000% of our baseline load-- today
we served up to 40 megabytes/second (or ~320 megabits), sustained for
20 minutes. Under normal "busy" load we push about 2-3 megabytes per
second. Pushing 40MB/sec our systems are 95% idle and the load average
is about 0.20. Each of our pair of systems can, by itself, handle all
of the load we are likely to see. Solaris is fast.
See this Sun internal page
for more information.
This section lists some possibilities for future performance analysis projects.
- Evaluate the impact of the move to cherrypy
- Evaluate the impact of using SSL certificates for client validation (needed for paying customers)
- Evaluate a switch from using a tarstream with filelist to streaming file requests via HTTP/1.1
- Performance analysis of complete system with front-end web server (like what glassfish is using now)
- Evaluate impact of using filters, especially if we move to having one repository for all platforms
This page (revision-23) was last changed on
01-Oct-09 13:31 PM, -0700
by TomMueller.
This page was created on
21-Apr-08 11:09 AM, -0700 by Ckamps.
More info...