Comments (6)
After the files processing is when it does the stats stuff. Does it get faster without --stats
?
As the stats in borg 1.x include overall repo / all archives stats, this might take longer if there are a lot of archives and/or if the repo is big.
from borg.
Thanks @ThomasWaldmann --stats was the culprit. Backup time went from 300 seconds to 9 seconds!
from borg.
Can you reproduce this behavior using a local repository, i.e., not using the network?
from borg.
Possible explanations (IIRC):
- the loading and saving time of the repo and chunks index is generally not included in the backup time (but just the time needed to process files from the backup set).
- the time needed for a chunks cache resync is also not included (this happens e.g. if 2 clients back up to the same repo)
If you add the --list
option, it might get clearer: the time while it lists files is the time that counts for the backup time.
from borg.
Also, --stats
might make it slower.
from borg.
Thanks for the quick response. I have added the --list option and I have also reviewed the FAQ. Neither has indicated what this 5 minute overhead could be especially considering the amount of data being backed up in this run is < 1 kilobyte and the total universe of files is 106 and only 39MB.
There is only one machine making the backup. Considering the entire dataset can be transferred several times over SSH within the 5 minutes why does is it taking 5 minutes to transfer less than the one kilobyte incremental change?
Results of --list command:
196 files / directories listed relatively quickly. Almost all had the flags d/U. 3 had the flag "s". 1 had the flag "A". 5 had the flag "x"
The delay seems to be after the files list.
The following environment variables are set which guarantee that there is no file cache issue in addition these tests are run directly after each other so no TTL issue:
BORG_FILES_CACHE_SUFFIX="segment-a"
BORG_FILES_CACHE_TTL="3"
I assume that borg must be downloading something from the repository and this occurs after the file list is generated because that happens relatively quickly. What could borg be doing to the repository that takes 5 minutes when the dataset is only 106 files and 39MB?
I have verified that within the borg directory exists a chunk directory, so that should have a local cache. Are there any other ways to see where borg is spending it's time?
EDIT: total non-incremental dataset size is actually < 39MB because that includes excluded data. Probably more like 20MB.
from borg.
Related Issues (20)
- borg2: Creating archive fails at specific archive name HOT 3
- disk is full: `_get_default_tempdir` raises `FileNotFoundError` No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', '/home/kmille'] HOT 7
- run in venv w/ root rights HOT 3
- As of 1.2.0, the ssh relative path hack "/./" works for most actions but not "borg init" HOT 4
- Please add a way to keep backups independently of pruning retention policy HOT 2
- ConnectionResetError: [Errno 104] Connection reset by peer HOT 3
- `borgfs` in Standalone Binary Installation Docs HOT 2
- Can't build borg on arm64 (armbian 22.04LTS) HOT 20
- Use multithreaded zstd compression HOT 4
- Security Feature: Error if local / repository nonce are not in agreement -- improve encryption trust HOT 1
- Are backup archive names encrypted? Cannot find answer in docs. HOT 1
- Possible bug in pruning logic with keep-weekly and keep-monthly HOT 7
- netbsd9 vagrant box: broken libxxhash.pc HOT 2
- locking.py seems multiprocess-safe but not thread-safe HOT 1
- `borg check` hangs after errors HOT 5
- pytest startdir: py.path.local argument is deprecated
- Getting "Data integrity error: Invalid segment entry size 0" on fresh repos HOT 9
- Breaking change between b7 and b8 for encrypted repos HOT 5
- --pattern having different outcome in crontab HOT 6
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 borg.