On 7/11/06, Kevin Waterson <kevin@xxxxxxxxxxx> wrote:
How much of a performance hit? Kevin -- "Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Here's to being bored on lunch. :) Now to add my two cents to the convo: I don't see a problem with storing images in the DB IF they aren't going to be continually accessed that way. For example say you have a script that lets a user upload an image and creates a small, medium, and large view out of it. Stick the original in the Db and then make your 3 sizes on the fly and cache the output so they are not continually created. This way you could down the road re-do all the sizes if you go through a site redesign or the client chooses they want them 450 instead of 400. =) Via MySQL 4.1 & PHP 5.1.4: erics:~ eric$ ab -n500 -c5 http://localhost/fs_vs_db/viewimage_db.php This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Finished 500 requests Server Software: Apache/1.3.33 Server Hostname: localhost Server Port: 80 Document Path: /fs_vs_db/viewimage_db.php Document Length: 25256 bytes Concurrency Level: 5 Time taken for tests: 4.323 seconds Complete requests: 500 Failed requests: 0 Broken pipe errors: 0 Total transferred: 12727000 bytes HTML transferred: 12628000 bytes Requests per second: 115.66 [#/sec] (mean) Time per request: 43.23 [ms] (mean) Time per request: 8.65 [ms] (mean, across all concurrent requests) Transfer rate: 2944.02 [Kbytes/sec] received Connnection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.4 0 10 Processing: 14 42 12.6 38 147 Waiting: 14 42 12.6 38 147 Total: 14 42 12.6 38 147 Percentage of the requests served within a certain time (ms) 50% 38 66% 40 75% 44 80% 46 90% 56 95% 67 98% 78 99% 97 100% 147 (last request) Raw Image: erics:~ eric$ ab -n500 -c5 http://localhost/fs_vs_db/cloud.jpg This is ApacheBench, Version 1.3d <$Revision: 1.73 $> apache-1.3 Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Finished 500 requests Server Software: Apache/1.3.33 Server Hostname: localhost Server Port: 80 Document Path: /fs_vs_db/cloud.jpg Document Length: 25256 bytes Concurrency Level: 5 Time taken for tests: 0.624 seconds Complete requests: 500 Failed requests: 0 Broken pipe errors: 0 Total transferred: 12775000 bytes HTML transferred: 12628000 bytes Requests per second: 801.28 [#/sec] (mean) Time per request: 6.24 [ms] (mean) Time per request: 1.25 [ms] (mean, across all concurrent requests) Transfer rate: 20472.76 [Kbytes/sec] received Connnection Times (ms) min mean[+/-sd] median max Connect: 0 1 0.7 1 5 Processing: 3 5 6.6 4 131 Waiting: 1 4 6.7 3 130 Total: 3 6 6.5 5 131 Percentage of the requests served within a certain time (ms) 50% 5 66% 5 75% 5 80% 6 90% 7 95% 10 98% 11 99% 19 100% 131 (last request) -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php