dsugita
06-25-2008, 11:08 PM
Taken from the Cerb4 Blog (http://www.cerb4.com/blog), Jeff's post on Monday:
Development since last week continues to focus on performance, stability, and usability before returning to new functionality; however, we have managed to sneak in one highly requested feature and several minor tweaks.
Performance
Performance is already great for most single helpdesk installations, but every day we’re monitoring hundreds of helpdesks from our Cerb4 On-Demand service. We find several bottlenecks from deploying Cerb4 on that scale that will speed up all installations.
The big performance improvements pending QA testing for the next stable release are:
* SMTP connections are now persistent for functionality that sends a lot of mail; specifically e-mail notifications and auto-replies. This is a lot more efficient.
* Message content can now be searched using MySQL’s FULLTEXT indexes, including phrases, booleans, boosting and wildcards. Before we went MySQL4+ specific, our previous approach used the MUCH slower and less flexible “LIKE” syntax.
* Added support for persistent MySQL connections.
* Added more objects to the cache manager: worker preferences, ticket fields, group memberships. This saves a lot of needless queries to the database from most pages.
* Fixed the cache manager when using disk-based caching (the default). It was invalidating the caches too often, causing unnecessary I/O work and database queries.
* Improved how Devblocks (the platform) renders plugin-provided pages (which is basically all of them). Less work required to render pages means faster load times.
* Drastically improved the performance of the nightly maintenance task. We added a new “cron.maint” event that triggers after deleted tickets are purged. It gives each plugin a chance to perform their own cleanup — which, for the main app, means cleaning up any orphaned data in the database (e.g. messages with deleted parent tickets, etc). Previously the maintenance task was running an event for every deleted ticket.
New Functionality
* Timezone support has been added on a per-worker basis. Workers can click “My Account” and select a timezone which will control date input and output. This was badly needed to get the most out of our flexible date entry (”5pm” or “+2 hrs”, etc). If I enter a date of “5pm” in Los Angeles time, another worker would see “8pm” in New York time.
Development since last week continues to focus on performance, stability, and usability before returning to new functionality; however, we have managed to sneak in one highly requested feature and several minor tweaks.
Performance
Performance is already great for most single helpdesk installations, but every day we’re monitoring hundreds of helpdesks from our Cerb4 On-Demand service. We find several bottlenecks from deploying Cerb4 on that scale that will speed up all installations.
The big performance improvements pending QA testing for the next stable release are:
* SMTP connections are now persistent for functionality that sends a lot of mail; specifically e-mail notifications and auto-replies. This is a lot more efficient.
* Message content can now be searched using MySQL’s FULLTEXT indexes, including phrases, booleans, boosting and wildcards. Before we went MySQL4+ specific, our previous approach used the MUCH slower and less flexible “LIKE” syntax.
* Added support for persistent MySQL connections.
* Added more objects to the cache manager: worker preferences, ticket fields, group memberships. This saves a lot of needless queries to the database from most pages.
* Fixed the cache manager when using disk-based caching (the default). It was invalidating the caches too often, causing unnecessary I/O work and database queries.
* Improved how Devblocks (the platform) renders plugin-provided pages (which is basically all of them). Less work required to render pages means faster load times.
* Drastically improved the performance of the nightly maintenance task. We added a new “cron.maint” event that triggers after deleted tickets are purged. It gives each plugin a chance to perform their own cleanup — which, for the main app, means cleaning up any orphaned data in the database (e.g. messages with deleted parent tickets, etc). Previously the maintenance task was running an event for every deleted ticket.
New Functionality
* Timezone support has been added on a per-worker basis. Workers can click “My Account” and select a timezone which will control date input and output. This was badly needed to get the most out of our flexible date entry (”5pm” or “+2 hrs”, etc). If I enter a date of “5pm” in Los Angeles time, another worker would see “8pm” in New York time.