[Cosmo-dev] Local versus remote MySQL server
Brian Moseley
bcm at osafoundation.org
Wed Oct 11 17:51:32 PDT 2006
On 10/11/06, Jared Rhine <jared at wordzoo.com> wrote:
> The bottom line is that we can not expect performance improvements by
> launching the Hosted Service in a "2 box" configuration (separate app and db
> servers) versus a "1 box" config (just one big box with app and db together).
i wonder how many l2 cache hits we're getting on webcal and atom gets.
for a given user, once one of these requests has been performed, each
subsequent request for the same calendar should be getting its data
out of the l2 cache rather than from the db (assuming the calendar
hasn't changed in the meantime).
also, there's at least one important optimization that hasn't happened
yet. the icalendar content of an event is stored as a blob in the
database and a byte array in a cached CalendarEventItem object. yet,
every time we use that event to service a webcal or atom get, the
icalendar has to be reparsed into an ical4j VEvent object. if we
cached those VEvents as well, i think we'd see an increase in response
time for those gets. this would add a little bit of code complexity,
but not much - i think the tradeoff would prove to be worth it.
we could even look at caching the generated atom and webcal output and
the DavResource instances that wrap Items to service dav requests. i'd
be curious to see if this would make a noticeable difference. it
certainly might on a 1000+ event calendar.
i also wonder about the size of the database connection pool and the
http thread pool. with 25 concurrent requests, we probably aren't
bumping into resource limits in either of those areas, and probably
not even with 40 concurrent, but it would be interesting to see if we
can account for the 1 second slowdown in put response time at the
higher concurrency level in some other way than cpu utilization.
More information about the cosmo-dev
mailing list