>> Filesystems with many Filesystem Objects can slow down the Performance
>> at opening and reading Data.
On my laptop, lighttpd takes upto 15000 hits PER SECOND on static 2-3 Kb
files (tested with apachebench 2).
Apache is slower, of course : 3-4000 hits per second which is not that
bad.
Using a dynamic script with images in the database, you should account
for query and transmission overhead, dynamic page overhead... mmm, I'd say
using a fast application server you could maybe get 2-300 images served
per second from the database, and that's very optimistic. And then the
database will crawl, it will be disintegrated by the incoming flow of
useless requests... scalability will be awful...
Not mentioning that browsers ask the server "has this image changed since
the last time ?" (HEAD request) and then they don't download it if it
doesn't. The server just stat()'s the file. statting a file on any decent
filesystem (ie. XFS Reiser JFS etc.) should take less than 10 microseconds
if the information is in the cache. You'll have to look in the database to
check the date... more queries !
If you want to control download rights on files, you can still put the
files on the filesystem (which is the right choice IMHO) and use a dynamic
script to serve them. Even better, you could use lighttpd's authorized
file download feature.
The only case I see putting files in a database as interesting is if you
want them to be part of a transaction. In that case, why not...