
Pilk
Axiom Empire
|
Posted - 2007.04.27 04:08:00 -
[1]
Originally by: Tonto Auri I know that frequent pestering to game database from webserver can cause real issues.. But are You never thinking about caching of requests at webserver side?
They do. Examine the "timeInCache" attribute:
<character timeInCache="10438" timeLeftInCache="3589562" name="xxxx" characterID="xxxx">
Originally by: Tonto Auri I know that so many requests always ask for more or less but enough stable data. You can save about 80% of interserver exchange if You implement that type of caching.
I'm not sure what static caching would solve. If you're training BS V, but some time during the hour that the data is cached, you spend 10 minutes getting Drones to I (yeah, you were slacking), when the server queries, no amount of caching is going to avoid the fact that you now have to re-fetch all the character sheet data.
Now, if the problem is the DB load, you can extrapolate some information and put more intelligence in the character sheet. For example, you can work out the current rate of SP/hour. Then you only have to fetch the current number of SP for the last-known-to-be-training skill. If it's off by more than some small delta, you re-fetch everything, otherwise, you can stop there. Now, this won't catch the case where you are training at (for simplicity's sake) 600 SP/hour, plug in some implants, train something else for 5 minutes, clonejump (or get podded) to a no-implant clone, and it all lines up perfectly such that you're training at 600 SP/hour again and have the same amount of SP in your currently-training skill that you'd have had if nothing happened. As such, once a day (perhaps during DT?), you'd have to re-fetch the whole sheet. I'm sure there are other caching mechanisms that would work, too, this is just the one off the top of my head.
Originally by: Tonto Auri And of course You can save more traffic and braincells by removing all that useless page-building javascript from webpages and enable server-side page compression.
JavaScript is entirely client-side; it causes no load on the server, barring dynamic generation. And server-side page compression only helps if the problem is Internet network bandwidth (which I doubt). It's almost certainly either DB load, interconnect network load, or MyEve CPU load.
--P
|