Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

parameters #131

Open
wormen opened this issue Oct 27, 2016 · 7 comments
Open

parameters #131

wormen opened this issue Oct 27, 2016 · 7 comments

Comments

@wormen
Copy link

wormen commented Oct 27, 2016

подскажите, какой параметр нужно указать, чтобы данные писались сразу на диск, т.е. минуя оперативку, насколько это возможно

согласно документации указал
cacheSize: 0

но как-то это не помогло

@sergeyksv
Copy link
Owner

Данные пишутся сразу, кэшируется только чтение.

@wormen
Copy link
Author

wormen commented Oct 28, 2016

на текущий момент я наблюдаю ситуацию, что файл обновляется только при отключении скрипта

@wormen
Copy link
Author

wormen commented Oct 28, 2016

еще, так же заметил, что при удалении записей в коллекции, вместо уменьшения размера файла, он растет, я видел что там в БД создаются дополнительные метки для удаленных записей, но ранее они очищались при отключении скрипта, а сейчас все остается в БД

использую 7 версию ноды

@wormen
Copy link
Author

wormen commented Oct 28, 2016

в итоге, файл с 1.5М записясей, и 300Мб размера, превратился в 900Мб файл, что не сильно хорошо, поскольку такой размер зачитывается как-то сильно долго

@wormen
Copy link
Author

wormen commented Jan 9, 2017

решен ли вопрос с уменьшением файла коллекции при удалении данных?

@wormen
Copy link
Author

wormen commented Jan 15, 2017

пример кода, который наглядно демонстрирует, что при удалении данных файл вместо уменьшения, растет

let GenerateHash = (length) =>  {
    var n,
        S = 'x';

    var hash = s => {

        if (typeof(s) == Number && s === parseInt(s, 10)) {
            s = Array(s + 1).join('x');
        }

        return s.replace(/x/g, () => {
            n = Math.round(Math.random() * 61) + 48;
            n = n > 57 ? (n + 7 > 90 ? n + 13 : n + 7) : n;
            return String.fromCharCode(n);
        });
    };

    for (let i = 0; i < length; i++)
        S = S + 'x';

    return hash(S);
};

var _store = [],
    hash = GenerateHash(1000);

for(let i=0; i<100000;i++)
    _store.push({
        hash1: hash,
        hash2: hash,
        hash3: hash
    });

$DB.collection(`backup.cloud`).insert(_store, (e, r)=>{
    $DB.collection(`backup.cloud`).remove({});
});

@wormen
Copy link
Author

wormen commented Jan 15, 2017

если у вас нет времени заняться этим моментом, может подскажите, где копать? сам посмотрю

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants