Check out the new USENIX Web site. next up previous
Next: Implementing a PC-to-other host Up: INN Enhancement Using LDAP Previous: INN Enhancement Using LDAP


Performance Observations

While not exhaustive, the following simple data may help to show some of the performance differences between using an INND server without any LDAP enhancements, and an INND server using the enhanced filter _nnrpd.pl filter with multiple LDAP searches. The ``Prod. Script'' uses LDAP and extra coding whereas the ``Orig. Script'' that comes with INN basically does nothing.

Test Performed Prod. Script Orig. Script
size 14,091 bytes 1,207 bytes
Perl Validate 0.548u,0.233s 0.127u,0.180s
One line Post-s 0.975u,0.747s 0.404u,0.363s
One line Post-u <= 6 secs < 0.75 sec
NNRPD write/log < 4 secs -na-
NNRPD reject/log <= 6 secs -na-
LDAP search/log <= 3 secs -na-

Table 3: Sample INN/LDAP Performance
Test Environment (#1)


Test Performed Prod. Script Orig. Script
size 14,100 bytes 1,207 bytes
Perl Validate 0.180u,0.060s 0.010u,0.050s
One line Post-s 0.400u,0.380s 0.180u,0.280s
One line Post-u <= 2.25 secs < 0.5 sec
NNRPD write/log <= 2 secs -na-
NNRPD reject/log <= 2 secs -na-
LDAP search/log < 2 secs -na-

Table 4: Sample INN/LDAP Performance
Production Environment

The ``u'' and ``s'' symbols in the times represent user and system CPU usages in seconds, respectively. Those entries which are not applicable since the script does not perform or have any impact on the indicated function are identified with ``-na-.''

The Perl validation is the simple perl -c test which validates the Perl code (i.e., performs the Perl ``compile'' operation) which is affected by the size of the code being tested and the complexity of the code. The original script contains only a few active lines - the remaining being either blank or commented out.

The ``One line Post'' times come from a new article posted to the special test newsgroup that contained one line of text, which varied slightly in size, plus the normal article header records. The ``-s'' times are news server times for just the nnrpd program itself. The ``-u'' times represent the real-time measures of time from when the user initiates the posting action (i.e., presses the Post button, or equivalent), and the article is posted (as reported by the user's news client).

All ``/log'' entries represent the elapsed time observed for the particular function performed, reported as integer values. Logging is accomplished with the system logger command, where each log line is a seperate call to logger. Time values indicated as ``less than'' are strictly less than the value indicated. Values indicated as ``less than or equal to'' are predominantly less the the value indicated - there were a small number of observations that did equal the specified value.

``NNRPD write/log'' times represent the total elapsed time for filter _nnrpd.pl to write its entries to the log file after the user posts the article (i.e., presses the Post button, or equivalent), and filter _nnrpd.pl accepts it.

``LDAP search/log'' times are taken from an LDAP server log which show the total elapsed time for the LDAP server to accept a connection from the news server and process its LDAP search requests for the special newsgroup entry, return the data to the news server, and close the network connection.

``NNRPD reject/log" times are from the news server log which show the total elapsed time for the filter _nnrpd.pl ``hook'' to make its posting failure determination and write out its log lines.

The differences in log file writing times are affected by the throughput of the associated network and the speed of the associated servers, which is to be expected. The different environments, slower test, faster production, also represent a difference in the relative ``size'' of the servers (i.e., small versus medium). The amount of filter _nnrpd.pl logging appears to be the largest delay factor in this process, all other things being equal. It should be noted that filter _nnrpd.pl can operate without generating any log entries, but for administrative purposes, ten or so lines were normally logged.

Overall, while increasing news server system time for log writing, Perl ``hook'' processing, and external service (LDAP) processing, the amount of additional time for the LDAP-enhanced INN services is reasonable. Turn off all filter _nnrpd.pl logging and the additional time can be further reduced, making it neglible.


next up previous
Next: Implementing a PC-to-other host Up: INN Enhancement Using LDAP Previous: INN Enhancement Using LDAP
Jim Dutton
2000-04-24