Michael Ströder wrote:
Howard Chu wrote:
A note about this revised patch - accesslog uses op->o_time/op->o_tincr to generate its RDNs. We actually have a problem here in that microsecond resolution may no longer be adequate. Back in January I was on site with a customer whose 64-core server was hitting ~1 million queries/sec. Granted, that was with syslog and accesslog disabled; with logging enabled we're far more limited.
Very soon we're going to need higher resolution when logging is enabled.
At that speed I'm mostly concerned about entryCSN values and MMR conflict resolution.
Note that CSNs already support finer than microsecond resolution. But since delta-syncrepl relies on accesslog, that's more of a concern.
As for syslog - currently, with my experimental syslog() code, my best result still takes 60% longer when running with -s256 (STATS loglevel) vs -s0. If I comment out the send() on the /dev/log socket to rsyslogd, and leave all the message formatting code intact, it's only 10% slower. So most of the slowdown is in the actual send() syscall.
(Using the original code is around 2.5x slower for -s256 than -s0)