Default max_concurrent_processing to half the CPUs pixa sees (closes #242) #261

Merged
clawbot merged 10 commits from issue-242-default-concurrency into next 2026-10-15 23:07:23 +02:00
Showing only changes of commit cead3d57bf - Show all commits
+10 -8
View File
@@ -146,14 +146,16 @@ What the [upaas](https://git.eeqj.de/sneak/upaas) app for pixa needs:
`PIXA_UPSTREAM_CONNECTIONS` so that this fits the memory the container may `PIXA_UPSTREAM_CONNECTIONS` so that this fits the memory the container may
use. use.
- **Temporary files:** while pixa processes a large source, libvips writes its - **Temporary files:** while pixa processes a large source, libvips writes its
decoded pixels to a file in `/tmp` and deletes the file when the image is decoded pixels to a file in `/tmp`. The file disappears from `/tmp` once it is
done. For a GIF, WebP, AVIF or JPEG XL source the decoded pixels are held in written, so a listing of `/tmp` does not show it, but it keeps its space, on
memory as well as written to that file, and the 4.2 GiB above includes that disk or, where `/tmp` is a tmpfs, in memory, until the image is done. For a
memory. For an 8192x8192 source the file was measured on pixad at 192 MiB for GIF, WebP, AVIF or JPEG XL source the decoded pixels are held in memory as
an 8-bit RGB JPEG, 512 MiB for a 16-bit RGBA PNG or JPEG XL, and 1 GiB for a well as written to that file, and the 4.2 GiB above includes that memory. For
JPEG XL of 32-bit floating-point RGBA, the largest measured: up to 1 GiB per an 8192x8192 source the file was measured on pixad at 192 MiB for an 8-bit RGB
image processed at once, 24 GiB at the defaults on a host where pixa sees 48 JPEG, 512 MiB for a 16-bit RGBA PNG or JPEG XL, and 1 GiB for a JPEG XL of
CPUs. This `/tmp` is in the container's own filesystem, not on the volume at 32-bit floating-point RGBA, the largest measured: up to 1 GiB per image
processed at once, 24 GiB at the defaults on a host where pixa sees 48 CPUs.
This `/tmp` is in the container's own filesystem, not on the volume at
`/var/lib/pixa`, and `cache_max_bytes` does not count it. The 4.2 GiB above `/var/lib/pixa`, and `cache_max_bytes` does not count it. The 4.2 GiB above
does not include these files; where `/tmp` is a tmpfs, they are memory on top does not include these files; where `/tmp` is a tmpfs, they are memory on top
of it. of it.