62 lines
1.3 KiB
Markdown
62 lines
1.3 KiB
Markdown
# راهنمای عملکرد
|
|
|
|
## روششناسی بنچمارک
|
|
|
|
همه بنچمارکها با Nim 2.2.0 و `-d:release --opt:speed` اجرا میشوند.
|
|
|
|
## بنچمارکهای ذخیرهسازی
|
|
|
|
### LSM-Tree
|
|
|
|
| متریک | مقدار |
|
|
|--------|-------|
|
|
| توان عملیاتی نوشتن | ~580,000 ops/s |
|
|
| توان عملیاتی خواندن | ~720,000 ops/s |
|
|
|
|
### B-Tree
|
|
|
|
| متریک | مقدار |
|
|
|--------|-------|
|
|
| توان عملیاتی درج | ~1,200,000 ops/s |
|
|
| جستجوی نقطهای | ~1,500,000 ops/s |
|
|
|
|
## بنچمارکهای موتور برداری
|
|
|
|
### HNSW
|
|
|
|
| متریک | مقدار |
|
|
|--------|-------|
|
|
| درج (dim=128) | ~45,000 vectors/s |
|
|
| جستجوی top-10 (n=100K) | ~8 ms |
|
|
|
|
## بنچمارکهای پروتکل
|
|
|
|
| پروتکل | اتصال | کوئری/ثانیه |
|
|
|--------|-------|--------------|
|
|
| Binary | 1 | 45,000 |
|
|
| Binary | 100 | 380,000 |
|
|
| HTTP/REST | 1 | 12,000 |
|
|
|
|
## راهنمای تنظیم
|
|
|
|
### برای بار کاری سنگین نوشتن
|
|
|
|
```bash
|
|
BARADB_MEMTABLE_SIZE_MB=256
|
|
BARADB_WAL_SYNC_INTERVAL_MS=10
|
|
```
|
|
|
|
### برای بار کاری سنگین خواندن
|
|
|
|
```bash
|
|
BARADB_CACHE_SIZE_MB=1024
|
|
BARADB_BLOOM_BITS_PER_KEY=10
|
|
```
|
|
|
|
### برای جستجوی برداری
|
|
|
|
```bash
|
|
BARADB_VECTOR_EF_CONSTRUCTION=200
|
|
BARADB_VECTOR_EF_SEARCH=128
|
|
BARADB_VECTOR_M=32
|
|
``` |