Skip to content

Performance issues with KVS holding lots of items locally #2723

@B4nan

Description

@B4nan

1 - Extract the attached file and do npm install
2 - Run it once : npm start
3 - It will generate KV with 100k keys. If you notice, KV will initialize in no time in first run
4 - Once complete, run it again with npm start
5 - Notice that it will freeze here. Ideally, that line should not do anything with size of data.

bottleneck-poc.zip

import { Actor } from 'apify';

await Actor.init();
console.log(`store initialisation started. It will freeze here when you run this POC second time.`);
const store = await Actor.openKeyValueStore('100k-keys');
console.log(`store initialised successfull`);

for (let i = 0; i < 100001; i++) {
    await store.setValue(`number-${i}`,"1");
    console.log(`storing ${i}`);
}   

console.log('100k KV stored');

await Actor.exit();

Originally posted by @dhrumil4u360 in #2722 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    t-toolingIssues with this label are in the ownership of the tooling team.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions