Comments (6)
How are you pushing the dataset? Memory is not necessarily used by Sonic, your ingest program can also use memory. I didn't have any problems when pushing 25M documents (~2 GB) using node-sonic-channel.
from sonic.
Found the problem! It was the logs from the server in the terminal that crashed it. Running the server with sonic > /dev/null
fixed it and improved my push speed by 50%!
from sonic.
The push seemed to have slowed down significantly, at the start it was 2.5 ms/doc, and now it seems 50:ms/doc how much time did it take you to push 25M documents @Sly-Little-Fox ?
from sonic.
The push seemed to have slowed down significantly, at the start it was 2.5 ms/doc, and now it seems 50:ms/doc how much time did it take you to push 25M documents @Sly-Little-Fox ?
~4 hours with default config (with loglevel "error" though, "debug" can actually slow things down). I used tmpfs for storage and one core (Ampere A1, Oracle Cloud). I actually observed that using a lot of threads for ingesting sometimes makes Sonic slow down significantly even though it doesn't use even a half of my threads (8 threads, 4 cores). I don't know why it gets stuck (it's not I/O, because tmpfs).
from sonic.
Note that write operations are not lock-free, so if something is I/O bound, eg. the SSD I/O, the CPU core responsible for the RocksDB threads (try increasing parallelism
?), then things will start slowing down as Sonic Channel and other threads rely on this main DB threads during write operations.
from sonic.
Alright, I'll see if I can improve it. Thanks a lot!
from sonic.
Related Issues (20)
- Search: LIMIT out of minimum/maximum bounds HOT 2
- Bulk index speed is slow HOT 5
- Memory allocation while indexing data HOT 6
- Update document in sonic HOT 4
- Please don't use country flags to refer to languages HOT 3
- Use a varint encoding for the IID? HOT 1
- User defined stopwords HOT 1
- Search "terms"? Searching for multiple words? HOT 1
- Docker run throws an error HOT 2
- buffer size overflow error while ingesting large size document. HOT 4
- Bucket count limits HOT 2
- can not push chinese HOT 2
- Old version 1.3.5 on crates HOT 1
- Sonic image is not working in Kubernetes HOT 1
- sonic 1.4.1 regression test failure HOT 3
- upgrade rocksdb dependency to use newer bindgen
- clang - llvm@17 not compatible HOT 1
- What's the max length for an obj? HOT 4
- Limit on `<object>` length during `ingest` `PUSH`? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sonic.