I'm using Apache 2.2.19 on FreeBSD 7.3
mod_dav v.1.0.3
mod_auth_mysql v.3.0.0

I'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 on
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' 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 on
57128 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-unsubscr...@httpd.apache.org
  "   from the digest: users-digest-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org

Reply via email to