note 107543 added to mongogridfs.storefile
| From: | mike at eastghost dot com | Date: | Thu, 16 Feb 2012 13:50:29 +0000 |
| Subject: | note 107543 added to mongogridfs.storefile | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-186166@lists.php.net to get a copy of this message | ||
Pass
$options['safe'] = true;
to make Mongo slow down and do inserts sequentially instead of in parallel.
Use case:
I had 274 PDF documents stored on ext3 disk (avg. size was 5MB, none over 20MB)
A PHP loop loaded each PDF, then did a $GridFS->storeFile( $data, $meta );
This caused server to spike from load average of 0.2 to over 20.0
Apparently what was happening is the loop slammed Mongo (then memory, disk) with 274 convert/stores
to do all at once.
Adding
$GridFS->storeFile( $data, $meta, array( 'safe' => true ) );
made the loop slow down and wait for each insert to finish and be confirmed before going on to next
PDF.
Moral: Safe option can be used to maintain sanity and is not always just for data validity.
----
Server IP: 192.41.42.26
Probable Submitter: 70.91.82.193
----
Manual Page -- http://www.php.net/manual/en/mongogridfs.storefile.php
Edit -- https://master.php.net/note/edit/107543
Del: integrated -- https://master.php.net/note/delete/107543/integrated
Del: useless -- https://master.php.net/note/delete/107543/useless
Del: bad code -- https://master.php.net/note/delete/107543/bad+code
Del: spam -- https://master.php.net/note/delete/107543/spam
Del: non-english -- https://master.php.net/note/delete/107543/non-english
Del: in docs -- https://master.php.net/note/delete/107543/in+docs
Del: other reasons-- https://master.php.net/note/delete/107543
Reject -- https://master.php.net/note/reject/107543
Search -- https://master.php.net/manage/user-notes.php