Testing the PHP driver with Atlas failovers
The following was added to the URI for an Atlas 3.6 cluster and assigned to a
$uri variable in the PHP script:
For our tests, we used random input data created
cat /dev/urandom > random.txt.
Set the URI, database, and GridFS collection names accordingly. Additionally, decide if the GridFS collection should be dropped before inserting any data.
The number of iterations can be customized. Based on the results, there were modest increases to peak memory on successive iterations. Real memory usage tended to drop with each new iteration and climb again.
By default, the driver uses a chunk size of
255 * 1024 (i.e. 255K). This default seems to leak memory (at least until the file insert completes). Increasing the chunk size even just a bit 256K has vastly better results.