1

我测试了检索 150 个文档,每个文档都有一个包含 2000 条记录的数组。
这是内存使用情况:

Memory after collection: 1584
Memory after findOne: 530936
Memory after find: 81798960

所以 findOne 使用大约 0.5MB,而查找 150 个文档使用 78MB。

有这么高的内存使用量是否正常?还是我的文档对象太大了?我只是在 2000 条记录中的每条记录中存储四个字符。

用于测试的代码:

<?php
    $old = memory_get_usage();
    $collection = $mongo->getMongoCollection($this->Mb);
    $new = memory_get_usage();
    echo "Memory after collection: " . ($new - $old) . "<br>";

    $old = memory_get_usage();
    $arr = $collection->findOne(array('capture' => '1367208145'));
    $new = memory_get_usage();
    echo "Memory after findOne: " . ($new - $old) . "<br>";

    $old = memory_get_usage();
    $cursor = $collection->find();
    $arr = iterator_to_array($cursor);
    $new = memory_get_usage();
    echo "Memory after find: " . ($new - $old) . "<br>";
?>
4

0 回答 0