分类: 系统运维
2010-11-25 17:31:25
We’ve received several requests to understand the future direction of Zenoss products and would like to share a bit of what’s coming up. Before we start, I need to remind you that what we share is directional and does not represent a commitment from Zenoss to deliver any of the items discussed. Further, our plans may change at any time and you will not receive any notice of our changed plans.
As you know, we’ve just completed a major revision of the Zenoss Core user interface with version 3.0, first available in July 2010. The new interface has been generally well-received and thanks to input from our many users we’ve been able to address several performance and use case concerns with two maintenance releases. We appreciate the input. Please continue!
One thing you may not know is that we’ve substantially expanded our development team during this year, and I’m not referring to the turkey fry dinner outcome! Our development staff count has more than doubled, and our internal quality assurance process is better than ever.
So what’s coming up? Our next major release process is internally known as Avalon, and we’ll be delivering new versions of both the Zenoss Core and Enterprise products. In this post I’ll focus on the performance improvements around Zenoss Core. These features will support the Zenoss Enterprise product as well, of course.
We’re now helping some very large organizations run their businesses on Zenoss and improved performance is a key focus. We’ve closely examined the ZenHub component and the event manager and are implementing a number of changes. Key changes are in the areas of model storage and the event system.
We’ve also upgraded Twisted and rrdtool, and have implemented rrdcache to improve performance data read/write performance, although I won’t discuss these in any more detail.
Model storage implementation change to RelStorage
The changes we made to the storage implementation of ZODB were driven directly by customer experiences with long modeling times. We determined that the performance of the current ZEO & FileStorage implementation could be substantially improved by replacing it with RelStorage.
Instead of storing the model in the file system-based ZEO, we’re now storing it in MySQL. This provides additional tuning options, since database caching is provided by MySQL, and simplifies security since database connections are authenticated by standard MySQL protocols and there is no longer a need to access ZEO in the file system. I do want to point out that we are still storing objects, and there is no relational database access to the model. You’ll continue to use dmd to get at model data.
Our internal tests have shown approximately 50% better read performance and 20% better write performance, and the shared level two memory cache for all Zope clients leads to greater levels of throughput for anyone implementing several zenworker processes. At one pilot site, we were able to reduce modeling time by a factor of three.
We’ll be providing an upgrade migration step as part of the release that will assist in migrating the model from the existing file storage into MySQL. This should take substantially less time than the pre-release catalog population step in the 3.0 release. Our internal testing migrated a 500,000 object database in about 15 minutes.
You may want to add memcached to further improve performance. It can be implemented within Zenoss with just a couple of lines in zope.conf.
My next post about the upcoming release will cover the new eventing system.