sql >> Database teknologi >  >> NoSQL >> MongoDB

Vedvarende og flush - Doktrin og MongoDB

Jeg oprettede et benchmark for at profilere flushes af et simpelt dokument med to felter i forskellige batchstørrelser:https://gist. github.com/2725976

$ php src/benchmark.php 10 100 1000 10000 20000 50000 100000
Flushing     10 items took  0.014058 seconds and   2097152 bytes
Flushing    100 items took  0.024325 seconds and    524288 bytes
Flushing   1000 items took  0.196992 seconds and   5505024 bytes
Flushing  10000 items took  2.563700 seconds and  57933824 bytes
Flushing  20000 items took  6.291873 seconds and  89915392 bytes
Flushing  50000 items took 19.118011 seconds and 240386048 bytes
Flushing 100000 items took 58.582809 seconds and 469499904 bytes

Som du måske forventer, udgør indsættelse af data i Mongo kun en lille del af disse målinger. Doktrin kommer til at bruge en del tid på at gå gennem trin som afsendelse af hændelser og beregning af ændringssæt, hvoraf sidstnævnte vil blive væsentligt påvirket af kompleksiteten af ​​din domænemodel.

Du kan spore alle de doktrinspecifikke operationer i flush() ved at tage et kig på UnitOfWork::commit() .




  1. Hvordan opretter man forbindelse til mongodb ved hjælp af docker-compose?

  2. php_ini er ikke indstillet til php.ini-placering

  3. MongoDB Index Builds – Forhindrer brugere i at udløse nye Builds

  4. MongoDB Regular Expression Search - Starter med at bruge javascript-driver og NodeJS