Closed
Bug 279335
Opened 20 years ago
Closed 19 years ago
Reduce load on Update server by using less-random URL
Categories
(Toolkit :: Application Update, defect)
Toolkit
Application Update
Tracking
()
RESOLVED
FIXED
People
(Reporter: Bugzilla-alanjstrBugs, Assigned: Bugzilla-alanjstrBugs)
References
()
Details
Attachments
(1 file, 1 obsolete file)
|
1.22 KB,
patch
|
vlad
:
review-
dveditz
:
approval-aviary1.0.1-
|
Details | Diff | Splinter Review |
When checking for application updates, nsUpdateService appends a random number. Instead, it should append something that will be cachable by the server. Perhaps YYYYMMDD. Then it would only have to be cached once per day.
Assignee: bugs → Bugzilla-alanjstrBugs
Status: NEW → ASSIGNED
Attachment #172064 -
Flags: superreview?
Attachment #172064 -
Flags: review?(mconnor)
Attachment #172064 -
Flags: approval-aviary1.0.1?
Attachment #172064 -
Flags: superreview?(bryner)
Attachment #172064 -
Flags: superreview?
Attachment #172064 -
Flags: review?(vladimir)
Attachment #172064 -
Flags: review?(mconnor)
Comment 2•20 years ago
|
||
I'm not really familiar with u.m.o, so bear with me. What is the random key used for currently?
Comment 3•20 years ago
|
||
(In reply to comment #2) > I'm not really familiar with u.m.o, so bear with me. What is the random key > used for currently? The files being retrieved from the server are static files in a directory, so the random key does absolutely nothing on the server except clutter the log files and prevent squid from caching them. I'm told the random key is added within Firefox to prevent Firefox from using a cached copy of the file, because the RDF API apparently doesn't allow you to override the cache status. Unfortunately it has exactly the same effect on the squid caching proxy, which is adding unecessary load to the server actually hosting the files.
/me blushes
Attachment #172064 -
Attachment is obsolete: true
Attachment #172098 -
Flags: superreview?(bryner)
Attachment #172098 -
Flags: review?(vladimir)
Attachment #172098 -
Flags: approval-aviary1.0.1?
Attachment #172064 -
Flags: superreview?(bryner)
Attachment #172064 -
Flags: review?(vladimir)
Attachment #172064 -
Flags: approval-aviary1.0.1?
Comment 5•20 years ago
|
||
Is there a reason we're not just adjusting the squid server's no_cache ACL to not suppress caching of _all_ requests with ? in them? Seems like something we could probably do a pretty good job matching to our environment, and worth the few hours of effort. (I'd recommend not making that change to the source unless we determinine that squid can't be made to do what we want here. Which would surprise me, and even then, let's just fix RDF finally.)
justdave implemented squirm because Firefox is DDoSing UMO this week. But by using squirm, he had to undo the domain split for now. As for suppressing caching of all requests with a ? in them ... you do realize that the rest of the website is dynamic, right?
Comment 7•20 years ago
|
||
(In reply to comment #6) > As for suppressing caching of all requests with a ? in them ... you do realize > that the rest of the website is dynamic, right? Were you addressing me? I specifically and clearly suggested turning _off_ the default squid config which _already_ suppresses caching of requests with ? in them. I think that suppression unwise for many aspects of the site, most especially the update requests that are melting us down right now. (You don't need ? in the URL for dynamism, of course, but that's an entirely different architectural question.)
Comment 8•20 years ago
|
||
Squid is and has been, since it was set up, configured with all of the no_cache stuff ripped out. It caches EVERYTHING, including URLs with query strings on them, as the site would never be able to handle the load otherwise. The issue with this bug is that by using a random number on the end of the URL, squid is now caching hundreds of copies of each of those RDF files instead of just one, which means it's hitting the host application server hundreds of times instead of just once every time the cache expires, and also eating up all the available memory on the server trying to keep all the "frequently accessed files" in memory (which it can't, because there are too many of them). However, we seem to have completely mitigated the problem on the server with the use of Squirm to rewrite the query string out of the URL before squid sees it for rdf files. Eliminating the domain name split had nothing to do with implimenting Squirm, and was only done as an additional load reduction action since each client is now hitting the server once instead of three times (two of them getting 301 responses) trying to get the files. (And squid doesn't cache 301s at all, so every one of those first two hits was hitting the host application server)
Comment 9•20 years ago
|
||
Comment on attachment 172098 [details] [diff] [review] Use javascript instead of vbscript resolved server-side, not wanted on the branch
Attachment #172098 -
Flags: approval-aviary1.0.1? → approval-aviary1.0.1-
Comment 10•20 years ago
|
||
Comment on attachment 172098 [details] [diff] [review] Use javascript instead of vbscript cancelling, if this is not needed
Attachment #172098 -
Flags: superreview?(bryner)
| Assignee | ||
Comment 11•20 years ago
|
||
We'd still like to reduce the load on the servers.
Comment 12•20 years ago
|
||
To give an RDF API comment, as I was asked on my blog (?). Is this an HTTP cache problem or an issue with RDF having singleton datasources? We are currently thinking about redoing the singleton rdf data source story, or rather, dropping it. This is a rather involved story, though, so I'm not 100% confident that it wouldn't break stuff. This is not going to be done without some research and a good deal of announcements to break as few extensions as possible.
Comment 13•20 years ago
|
||
nsUpdateService.js could easily talk to the Necko cache to delete the en-US.rdf file before loading the RDF datasource. That would avoid needing the '?' in the URL, and it would also avoid the need to modify the RDF subsystem.
Attachment #172098 -
Flags: review?(vladimir)
Comment on attachment 172098 [details] [diff] [review] Use javascript instead of vbscript I can't seem to just clear the review request since bugzilla goes crazy; but -'ing as I believe ben rewrote most of this code.
Attachment #172098 -
Flags: review-
Updated•19 years ago
|
Flags: blocking-aviary1.1? → blocking1.8b4?
Comment 15•19 years ago
|
||
The RDF subsystem caches the datasource irrespective of the network cache, which I don't think is the issue here.
Comment 16•19 years ago
|
||
The RDF/XML singleton bug is bug 297810, which turned out to be a good deal more tricky than I hoped.
Comment 17•19 years ago
|
||
Assuming this bug is filed against the trunk, the new update service uses an equally new schema for the update URL. This URL contains no random string. This bug could be a candidate for ->INVALID at this point.
Comment 18•19 years ago
|
||
Or ->FIXED. :)
Comment 19•19 years ago
|
||
I think we can mark this fixed given the new update system.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Updated•19 years ago
|
Flags: blocking1.8b4?
Updated•16 years ago
|
Product: Firefox → Toolkit
You need to log in
before you can comment on or make changes to this bug.
Description
•