Closed Bug 13506 Opened 25 years ago Closed 24 years ago

fix news connection cache

Categories

(MailNews Core :: Networking, defect, P3)

All
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mscott, Assigned: Bienvenu)

References

Details

(Keywords: perf, Whiteboard: Fix in hand)

Attachments

(3 files)

In order to get good performance for news we are going to eventually need a
connection cache. I've been working a lot on optimizing message display time and
a connection cache for news would really help.

Filing this bug to keep track of that. I may do it today or tomorrow. =)
Status: NEW → ASSIGNED
Target Milestone: M11
Whiteboard: [Perf]
Putting on [Perf] radar.
Triage to M15
Keywords: perf
Bulk add of "perf" to new keyword field.  This will replace the [PERF] we were
using in the Status Summary field.
Whiteboard: [Perf]
Summary: We need a connection cache for news → [FEATURE] We need a connection cache for news
*** Bug 31537 has been marked as a duplicate of this bug. ***
If we lose something from mscott's list for beta2, this is it.  Marking M16.
Target Milestone: M15 → M16
Whiteboard: 3 days
Scott has graciously agreed to let me bang my head against this one for a few 
days.
Assignee: mscott → bienvenu
Status: ASSIGNED → NEW
accepting
Status: NEW → ASSIGNED
I'd like to get this fixed before we rtm.

from http://www.newsreaders.com/misc/twpierce/news/newsreader-manifesto.html

"Don't disconnect between every command.  I hate to embarrass anyone but the
authors of Netscape made the mistake in a beta version (the current one is
fixed) where they closed the connection after every single article. You could
just hear your system performance die as your kernel locks out everything trying
to fork() fast enough to keep up with the Netscape users."

the author is talking about an old version of netscape.

while this will help performance, it more of the "don't pound on nntp servers"
feature aspect that is nsbeta2.

bienvenu has started the work, but I know he is busy with search.
david, is this something I can finish?  how much is left?
Keywords: nsbeta2
The code is all written - it basically needs to be debugged - in 
nsNNTPProtocol.cpp, there's a #define, USE_CONN_CACHE, which is NOT turned on. 
If you turn it on, you can see the problem, which is basically that when we 
use a cached connection, the url's keep getting interrupted so the connection 
gets dropped, rendering the cache not so useful. If you want to have a crack at 
debugging this, that would be great.
Putting on [nsbeta2-] radar. Not critical to beta2. Performance is for beta3 
work.  Adding nsbeta3 keyword.
Keywords: nsbeta3
Whiteboard: 3 days → [nsbeta2-] 3 days
I can wait until nsbeta2, since we've had this problem all along.

but we really got to fix this, since it causes us to put a lot of stress on nntp
servers.

taking back from david b.  (thanks for doing the hard part)
Assignee: bienvenu → sspitzer
Status: ASSIGNED → NEW
M16 has been out for a while now, these bugs target milestones need to be 
updated.
adding david b back to the cc list, as he may take this bug back.
Yes, I'll take it back, but I think I'll do it for beta3, since it's really a
big performance issue.
Assignee: sspitzer → bienvenu
Target Milestone: M16 → M18
accepting for nsbeta3
Status: NEW → ASSIGNED
Keywords: nsbeta2
Whiteboard: [nsbeta2-] 3 days → 3 days
changing summary - the feature is in, it just has a bug or two.
Summary: [FEATURE] We need a connection cache for news → fix news connection cache
Whiteboard: 3 days
Whiteboard: Fix in hand
fix checked in.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
QA Contact: lchiang → stephend
Is this anything QA can verify with a log?
yes, you can generate a protocol log and make sure we're not opening up a
connection to the server for every news message read.
is it mode reader that I should check to make sure we're not sending on reading
a message in the same server?
yes, mode reader, or the connection response, is what you're looking for. This
looks OK, except that we shouldn't need to issue the group command for the group
multiple times - I wonder if 4.x did that? It should be fast enough on the
server if we've already grouped into the group, but we shouldn't send the
protocol at all.
can I get reviews on the fix I'm about to attach? This fix will make it so that
we don't issue a group on every message download, and should speed up news a
bit. I moved the initialization of m_currentGroup to the constructor, instead of
Initialize, which gets called on every news url.
r=sspitzer

thanks for finding and fixing this.
David, you agree?  If so, I'll leave verified, and thanks!
yes, that looks much better, just mark it verified, thanks!
David B - you rock!
Status: RESOLVED → VERIFIED
Product: MailNews → Core
Product: Core → MailNews Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: