# 10.2-PRE pwd_mkdb slow on larger master.passwd



## pboehmer (Aug 6, 2015)

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:


```
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)

```
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

```
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.


----------

