Re: [OPSAWG] discuss on draft-ietf-opsawg-syslog-msg-mib-06.txt

"David Harrington" <ietfdbh@comcast.net> Sat, 29 August 2009 00:02 UTC

Return-Path: <ietfdbh@comcast.net>
X-Original-To: opsawg@core3.amsl.com
Delivered-To: opsawg@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 24F403A6AA2 for <opsawg@core3.amsl.com>; Fri, 28 Aug 2009 17:02:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.075
X-Spam-Level:
X-Spam-Status: No, score=-2.075 tagged_above=-999 required=5 tests=[AWL=0.524, BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gds6+vKQsoYq for <opsawg@core3.amsl.com>; Fri, 28 Aug 2009 17:02:15 -0700 (PDT)
Received: from QMTA02.westchester.pa.mail.comcast.net (qmta02.westchester.pa.mail.comcast.net [76.96.62.24]) by core3.amsl.com (Postfix) with ESMTP id 0B1723A6863 for <opsawg@ietf.org>; Fri, 28 Aug 2009 17:02:13 -0700 (PDT)
Received: from OMTA18.westchester.pa.mail.comcast.net ([76.96.62.90]) by QMTA02.westchester.pa.mail.comcast.net with comcast id Zzk21c0091wpRvQ5202MpZ; Sat, 29 Aug 2009 00:02:21 +0000
Received: from Harrington73653 ([24.147.240.21]) by OMTA18.westchester.pa.mail.comcast.net with comcast id a05c1c0090UQ6dC3e05cz7; Sat, 29 Aug 2009 00:05:37 +0000
From: David Harrington <ietfdbh@comcast.net>
To: 'Adrian Farrel' <Adrian.Farrel@huawei.com>, 'Juergen Schoenwaelder' <j.schoenwaelder@jacobs-university.de>, opsawg@ietf.org
References: <20090828130615.GA22962@elstar.local> <052e01ca27f0$2a0e6060$0600a8c0@china.huawei.com> <C931F40537DD4D819257BBE94B042035@your029b8cecfe>
Date: Fri, 28 Aug 2009 20:02:19 -0400
Message-ID: <057501ca283b$faac2e50$0600a8c0@china.huawei.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
X-Mailer: Microsoft Office Outlook 11
In-Reply-To: <C931F40537DD4D819257BBE94B042035@your029b8cecfe>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
Thread-Index: AcooKYAENkjdkHkhSAaX6aAxJT62MQADW00A
Cc: draft-ietf-opsawg-syslog-msg-mib@tools.ietf.org
Subject: Re: [OPSAWG] discuss on draft-ietf-opsawg-syslog-msg-mib-06.txt
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/opsawg>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 29 Aug 2009 00:02:16 -0000

Hi, 

> 2.
> > The SNMP approach has a major guideline:
> > keep the agent simple; move complexity to the manager.
> Yes. And this is what swings it for me.
> I am just left wondering whether an Agent is more loaded by a 
> bulk read of 
> 10,000 entries or maintaining a pointer into the table.
> 
> Clear up this last point, and I'm done.
> 
> Cheers,
> Adrian

Well, I think you have two cases - the initial read and update reads.
I might be surprised to see 10,000 in an initial read, but I
presumably want to get them all on the initial read, so if there are
10,000, then that's what I'll get, whether there is a scalar or not.
Knowing the oldest entry doesn't really help me on the initial read.

Now we'll deal with update reads. I would be surprised to see 10,000
entries in an update. But presuming they're there and I want them all,
I can bulk read them at 100 each time and check for whether I have
duplicates of entries I retrieved earlier (or whether the timestamp
changes significantly or whatever optimization I meet choose to use).
I can stop requesting more once I detect a duplicate. If the table is
actually that large that there are 10,000 update entries in the table,
a bulk read of 100 does not seem like much of a problem, and it would
be nicer to the CPU of the agent device. Worst case, I read 100
duplicate entries, but compared to an update of 10,000 entries I think
this is insignificant. How complex you want to make the algorithm can
be decided by the manager.

I am not certain how a scalar to the oldest helps that much. A pointer
to the latest entry would seem more useful to recognize where to stop.
Of course, the pointer to the oldest is probably 1 greater than the
pointer to the newest. I just don't think it makes that much
difference if you are talking 10,000 entries in an update. 

As I said I don't object to having a scalar. But I don't think it's
going to matter much in your scenario. If you're really concerned
about the load on the agent, remember that if there are 10000 update
entries, the scalar needs to be updated 10,000 times. And for the
manager to know the value of the scalar, it will have to do reads of
the scalar as well as of the table entries.

If you really want to reduce the load from bulk reads, then you might
want to provide filtering INDEXES on common fields, such as facility
(only get the ones for the email server), and severity (only retrieve
the critical errors). I think this might be more useful at reducing
retrieval load than the proposed scalar because these are commonly
used filters.

dbh