Commit Graph

10 Commits

Author SHA1 Message Date
8e3a868b7a remove parallel processing to fix SQLite locking issues
- Remove parallel.go entirely
- Process days strictly sequentially to avoid SQLITE_BUSY errors
- Complete each day fully (extract, dump, compress, verify, write) before starting next
- Clean up temp files immediately after each day to save disk space
- SQLite cannot handle multiple concurrent ATTACH operations on same database
2026-02-12 13:26:55 -08:00
56c3fe7804 fix Linux build: use golang.org/x/sys/unix for Fadvise
Replace syscall.Fadvise with unix.Fadvise from golang.org/x/sys/unix
which is the correct portable way to access fadvise on Linux
2026-02-12 13:15:39 -08:00
156217043e change temp directory to NVMe storage
Move temporary working directory from /srv/tmp to /srv/storage/tmp
to leverage NVMe storage for better I/O performance during extraction
2026-02-12 13:10:04 -08:00
f23db96922 optimize file copy performance for large database files
- Increase copy buffer from 4MB to 256MB for NVMe-speed transfers
- Add Linux-specific fadvise hints for sequential reads and prefetching
- Pre-allocate destination file to avoid fragmentation
- Add throughput monitoring to track copy performance
- Platform-specific build tags for Linux optimizations
2026-02-12 13:08:08 -08:00
cf79e008b5 speed optimizations 2026-02-12 13:01:52 -08:00
2d46dc70a9 date range 2026-02-11 03:01:48 -08:00
3c890f0b83 speed up database pruning for throwaway copies
Disable crash-safety pragmas (synchronous=OFF, journal_mode=MEMORY),
use a 200MB page cache, disable foreign keys to avoid per-row CASCADE
overhead, bulk-delete junction tables explicitly, and wrap all deletes
in a single transaction.
2026-02-09 01:48:42 -08:00
c31484f0cf support targeting specific date 2026-02-09 01:18:16 -08:00
136a090b6d change url 2026-02-09 00:48:03 -08:00
e6e85b6e11 initial 2026-02-09 00:42:06 -08:00