I'm using Apache 2.2.19 on FreeBSD 7.3 mod_dav v.1.0.3 mod_auth_mysql v.3.0.0I've noticed that when I make a simple PROPFIND request to get just a getcontenttype tag a large number of authentication queries are made to the mysql server, however if a PROPFIND with any of the other tags (eg. getcontentlength) is made, only one authentication query is made.
I've noticed that the number of mysql authentication queries is proportional to the number of files & subdirectories in the returned in the response:
auth_requests_made = (4 * number_of_directories) + number_of_files + 1 # ls -la Ticket/JB/ total 8 drwxr-x--- 4 www www 512 Aug 2 10:44 . drwxr-x--- 44 www www 1024 Jun 16 18:04 .. drwxr-x--- 3 www www 512 Sep 5 2005 2004 drwxr-xr-x 3 www www 512 Mar 22 2010 2010 -rw-r--r-- 1 root www 0 Aug 2 10:43 bar -rw-r--r-- 1 root www 0 Aug 2 10:44 baz -rw-r--r-- 1 root www 0 Aug 2 10:39 foo # Get the Content Types at a depth of 1#curl -ku $CRED -d '<?xml version="1.0" encoding="utf-8" ?><D:propfind xmlns:D="DAV:"><D:prop><D:getcontenttype/></D:prop></D:propfind>' -H 'Depth: 1' --request PROPFIND https://$HOST/ticket/JB/
# MySQL log output 110802 10:47:36 57119 Connect apache@localhost on57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins' 57119 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins'
# Get the Content Lengths at a depth of 1#curl -ku $CRED -d '<?xml version="1.0" encoding="utf-8" ?><D:propfind xmlns:D="DAV:"><D:prop><D:getcontentlength/></D:prop></D:propfind>' -H 'Depth: 1' --request PROPFIND https://$HOST/ticket/JB/
# MySQL log output 110802 10:49:35 57128 Connect apache@localhost on57128 Query SELECT Password, length(Password) FROM Users WHERE UserName='dick.perkins'
Can anyone explain this disparity between the number of mysql queries made? 16 queries may not seem high, but it gets ridiculous when there are 300 files in a a directory. I simply can't understand what would make getcontenttype different from the other properties, and why it needs to requery so many times.
Regards, John --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx