10.2-PRE pwd_mkdb slow on larger master.passwd

I recently upgraded a couple of servers from 10.1-STABLE to 10.2-PRERELEASE and immediately noticed that pwd_mkdb is substantially slower than previous versions.

I currently have approximately 4500 accounts in master.passwd and we run the following command:

Code:
pwd_mkdb -s 7 /etc/master.passwd

In our testing, the "-s 7" was the optimal setting for our setup. Going through the svn log, I noticed an entry "r285205" where pwd_mkdb.c was patched for a sanity issue. To troubleshoot, I ended up copying the 10.1 pwd_mkdb.c and sure enough, it appears lines with "|O_SYNC" (228,235,292,298) are the culprits in the slowdown. For comparison:

10.2-PRERELEASE r286005 (interestingly enough, prior to the revision listed above)
Code:
root@spare2:/etc # time pwd_mkdb -s 7 /etc/master.passwd
0.202u 0.210s 0:05.25 7.8%  18+229k 0+6079io 0pf+0w

pwd_mkdb.c recompiled with "|O_SYNC" option removed
Code:
root@spare2:/etc # time pwd_mkdb -s 7 /etc/master.passwd
0.160u 0.120s 0:00.31 90.3%  19+242k 0+11io 0pf+0w

One active server that we had upgraded can take up to 30 seconds (typically 17-25 seconds) to process the same master.passwd file (while under load) that previously had taken less an a second.

My question is if anyone else is seeing this slowdown? Is this worthy of a bug report? I understand the reasoning of the patch, but the slowdown is causing issues with our billing system.
 
Back
Top