Why does "lsuser ALL" on AIX run much slower than "vastool list users"?
There is no true cause for this as the two command are quite different in the methods of delivery.
"lsuser ALL" behaves as such:
It first calls LAM VAS to get a list of all users. Once a list of users has been correlated it then asks about them individually. Not only through the VAS registry but it was also ask about them through the VASMU registry. So you will actually get double the anount of AD user's. This is because VASMU is also in the methods.cfg which is to support mapped users.
"vastool list users" behaves as such:
It does a bulk call for all users to the QAS cache.
To simulate what lsuser ALL is doing but using vastool, run this command:
# time for u in `vastool list -o users | cut -d: -f1`; do vastool list user $u; done | wc -l
You should find that it now comes close to how long the "lsuser ALL" command generally take.
There is only one change you may make so long are you are NOT using mapped users. Can you remove the following lines from your methods.cfg:
program = /opt/quest/lib/security/VAS
program_64 = /opt/quest/lib/security/VAS64
options = authonly