Discuss , our SFTP/FTP/FTPS/SCP server for Windows. Secure, fast and customizable!
no avatar
User

Bob Mc

Posts

7

Joined

Wed Sep 19, 2012 12:38 am

Native vs. Plug-in Authentication

by Bob Mc » Wed Sep 19, 2012 12:53 am

We've been doing some testing of CompleteFTP and we like what we've seen so far. The plug-in architecture for .Net is very nicely designed and suits our needs particularly well, especially for events. Hooray!

One thing we've noticed in our testing is that the native CompleteFTP authentication appears to produce significantly better performance numbers in our stress test benchmarks than a custom authentication plugin, even when said plugin does no lookups, just returns true for authentication. Is this due to the plugin call overhead?

We tried writing directly to the CompleteFTP tables in the config.sdf file but the user we created wasn't active until the service was restarted, so we're assuming that the native authentication credentials are cached at startup and updated when "Apply Changes" is clicked in the admin tool. Is that the case?

We're looking for the most performant method of user authentication where we can manage the creation/update/deletion of users. It would seem that the authentication extension feature will let us maintain the users in our own database but at the cost of some performance. Can anyone confirm this hypothesis?

Thanks in advance,

Bob Mc.
no avatar
User

EDT Support

Posts

905

Joined

Mon Apr 26, 2004 3:03 pm

by EDT Support » Wed Sep 19, 2012 4:32 pm

Hi Bob

Yes, the database is only read on start-up.

We were actually not aware that authentication via plug-in was significantly slower than native authentication. There's very little overhead, so it's a little surprising. Can you please describe your tests? Also, have you got other authenticators enabled (e.g. DB-auth) that might be slowing things down? Could you please set the logging level to DEBUG and do an authentication. The log may reveal the reason for the performance.

- Hans (EnterpriseDT)
no avatar
User

Bob Mc

Posts

7

Joined

Wed Sep 19, 2012 12:38 am

by Bob Mc » Thu Sep 20, 2012 7:44 am

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.
no avatar
User

Bob Mc

Posts

7

Joined

Wed Sep 19, 2012 12:38 am

by Bob Mc » Tue Sep 25, 2012 4:43 am

no avatar
User

support2

Posts

3987

Joined

Tue May 18, 2004 8:30 am

by support2 » Tue Sep 25, 2012 6:57 am

no avatar
User

Bob Mc

Posts

7

Joined

Wed Sep 19, 2012 12:38 am

by Bob Mc » Wed Sep 26, 2012 12:20 am

no avatar
User

EDT Support

Posts

905

Joined

Mon Apr 26, 2004 3:03 pm

by EDT Support » Wed Sep 26, 2012 6:24 am


Who is online

Users browsing this forum: No registered users and 24 guests

Powered by phpBB ® | phpBB3 Style by KomiDesign
cron