Hans,
Thanks for confirming the database start-up read hypothesis. It makes sense, and confirms that we should use the authentication extension approach.
All other authenticators were disabled, so I don't think that's the issue.
We're testing via a custom upload/download app. The upload process establishes a connection for each file and disconnects after each file upload, to mirror the situation we'll encounter in production deployment. We're uploading about 4,000 files via four threads, so 1,000 files per thread with an authentication for each file.
The logging didn't indicate anything unusual. But it does indicate that the authentication extension is working quite quickly, as you indicated.
I'll try to post some benchmark information for you regarding my claim that the native authentication is faster, but given what you just confirmed it makes sense. When you natively authenticate you're probably just doing a lookup to a shared dictionary of users loaded at startup, whereas the authentication extension instantiates a POCO object each time an authentication is requested, or so it appears via .Net debugging. It then invokes the implemented methods of the instantiated extension via whatever mechanism you employ. Therefore it is bound to be somewhat slower over a large number of authentication requests (4000+).
However, it's probably not an issue for us. We will likely make a purchase based on the strength of what we've seen so far.
Thanks,
Bob Mc.