[syslog-ng] MongoDB destination driver
Gergely Nagy
algernon at balabit.hu
Wed Jan 5 00:05:23 CET 2011
On Tue, 2011-01-04 at 20:20 +0100, Gergely Nagy wrote:
> On Tue, 2011-01-04 at 13:39 +0100, Gergely Nagy wrote:
> > > #1: Insert the root document, update with dynamic values
>
> > This will hit my branch sometime tonight, at which point I'll redo the
> > benchmark tests.
>
> Done! And implemented in such a way that the static keys which one can
> specify in the keys() option can also contain dots, and they'll be
> handled properly (ie, turned into neat sub-documents).
>
> destination d_mongodb {
> mongodb(
> dynamic_values("dyn")
> keys("date", "host", "log.facility", "log.level",
> "program.name", "program.pid", "message")
> values("$DATE", "$HOST", "$FACILITY", "$LEVEL",
> "$PROGRAM", "$PID", "$MSGONLY")
> );
> };
Using this block, a completely non-scientific test:
* Inserting sshd login messages:
+ non-capped, non-indexed collection: 12k msg/sec
+ capped (10Gb, 1k msgs), non-indexed collection: 3k msg/sec
+ capped (1Mb, 100msg), non-indexed collection: 10k msg/sec
* Inserting loggen generated messages:
+ non-capped, non-indexed collection: 12.2k msg/sec
+ capped (10Gb, 1k msgs), non-indexed collection: 3.1k msg/sec
+ capped (1Mb, 100msg), non-indexed collection: 10.1k msg/sec
+ capped (10k, 100msgs), non-indexed collection: 15k msg/sec
(this one is terribly useless, but included for the sake of it)
They're within a margin of error, which means that dynamic values do not
add a significant overhead by the looks of it. The numbers are pretty
much the same as when I tested without dyn. values a few days ago.
Mind you, these benchmarks are completely non-scientific, done on my
desktop, running a ton of other things at the same time.
Do note how the cap sizes affect performance: you gotta choose the
appropriate one, if you're going for capping, otherwise performance
plummets.
My 100 loggen messages used up roughly 42k space, so setting the cap at
50k/100msgs would yield the best results, I suppose. But, that's mongodb
tuning, which - thankfully - is none of my business :D
--
|8]
More information about the syslog-ng
mailing list