У нас есть база данных mongodb с 4 репликами. Следующий код выполняется примерно за 10 секунд, даже если вставка выполняется менее чем за 1 секунду (если мы установили тайм-аут соединения в 1 секунду, вставка будет завершена, и выполнение сценария займет около 1 секунды). Как мы могли бы улучшить скорость выполнения, не изменяя connectionTimeoutMS (мы не хотим пропустить ни одной вставки из-за небольшого времени ожидания соединения).
Мы пытались использовать опцию WriteConcern, но безуспешно. Также пытался использовать MongoCollection, но он кажется ограниченным, и вместо этого нам предлагается использовать менеджер драйверов mongodb.
$manager = new MongoDB\Driver\Manager(
"mongodb://$host/$dbName",
$options
);
$bulk = new BulkWrite;
$bulk->insert($record);
$manager->executeBulkWrite('testDb.testCollection', $bulk);
Задача ещё не решена.
Других решений пока нет …