Speedier zypper on tumbleweed not appearing so

I have TW in a vm. I saw somewhere that a new parallel download version of zypper was in place for testing on TW. I am looking for it as that is one thing reviewers always say about openSUSE is slowness of zypper.

I do not see any difference between zypper on TW vs zypper on leap. Am I missing something or did zypper dup not install this new test version?

I have many other distros as vms and some their updaters can very quickly can download and install a large number of packages many times faster than zypper.

I do think, though, zypper has much more elaborate functionality than these.

tom kosvic

@tckosvic PRELOAD…env ZYPP_PCK_PRELOAD=1 zypper -vvv dup

Thanks for the info. I went through the new zypper installation process in my tumbleweed vm. There was a 50+ package install in tumbleweed this am – new kernel.

The retrieval process seemed much faster. The installation process did not seem faster. I didn’t see anything that seemed to display parallel processing.

How do I verify that I am running the new zypper?

A good performance model to look at is "pacman " in arch linux that I also have in a vm. You see parallel downloads and installation is very fast. I do think zypper has more functionality than pacman.

When you read the announcements you may understand that the new settings are ONLY for download and metadata fetching…not installation of packages.

Zypper Adds Experimental Parallel Downloads

The install itself ( after preloading ) will not be faster. My educated guess is that rpm (zypper is just a frontend) cannot handle parallel installing

1 Like

Is there a way to verify that I am running the new module. That was my question.

I did see faster downloads as I said.

Perhaps a lookup in running processes if there is a new name??

If you see the word “preloading” at the beginning of the terminal row whilst the download process of “zypper dup”, you are using the new features…

Example:

testbox:~ # zypper dup --no-recommends 
Refreshing service 'openSUSE'.
Retrieving repository 'repo-non-oss' metadata ..........................................................................................................................................................................................................................[done]
Building repository 'repo-non-oss' cache ...............................................................................................................................................................................................................................[done]
Building repository 'repo-openh264' cache ..............................................................................................................................................................................................................................[done]
Retrieving repository 'repo-oss' metadata ..............................................................................................................................................................................................................................[done]
Building repository 'repo-oss' cache ...................................................................................................................................................................................................................................[done]
Building repository 'update-tumbleweed' cache ..........................................................................................................................................................................................................................[done]
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

...snip...

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): 
Preloading: kernel-firmware-bluetooth-20250422-2.1.noarch.rpm
Preloading: kernel-firmware-bnx2-20250206-2.1.noarch.rpm
Preloading: kernel-firmware-atheros-20250206-2.1.noarch.rpm
Preloading: kernel-firmware-ath12k-20250424-1.1.noarch.rpm
Preloading: grub2-common-2.12-48.1.x86_64.rpm
Preloading: kernel-firmware-atheros-20250206-2.1.noarch.rpm [done]
Preloading: kernel-firmware-ath11k-20250424-1.1.noarch.rpm
Preloading: kernel-firmware-bnx2-20250206-2.1.noarch.rpm [done]

1 Like

Thanks for the “preloading” clue.

I also looked at the installed versions of libzypp and zypper and they are consistent with the Doc file references.

I think new version is going.

Over the years, I have observed that (for a many package install) download time for zypper is small compared to install time.

thanks, tom kosvic

Depends on connection speed / system storage

Correct, the backend logic that would be needed for parallel installation would be pretty serious work. I’m not sure that any package manager does parallel installation.

I meet the requirements for the zypper and its lib version, actually they appear one rev newer than the minimum reqs since I ran a full dup two weeks ago.

I’ve enabled the downloads in the zypper conf file.

 cat /etc/zypp/zypp.conf |grep download.max_concurrent_connections
download.max_concurrent_connections = 10

Do we have to set the env everytime and run from the root account …as in not sudo? I don’t use root for much of anything and generally only use sudo as needed. As such I use sudo for running dup. One of the suse devs on reddit said he uses the following one liner and it works for him as a normal user however it’s not working for me. I’m not getting any preload messages.

neal@localhost:~> env ZYPP_PCK_PRELOAD=1 ZYPP_CURL2=1 sudo zypper dup

etrieving: vim-data-common-9.1.1330-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                      (176/1275), 445.5 KiB    
Retrieving: vim-data-common-9.1.1330-1.1.noarch.rpm ................................................................................................................................................................................................................................................................................................................................................................................[done (3.4 MiB/s)]
Retrieving: wallpaper-branding-openSUSE-84.87.20240405-4.11.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                   (177/1275), 621.3 KiB    
Retrieving: wallpaper-branding-openSUSE-84.87.20240405-4.11.noarch.rpm .............................................................................................................................................................................................................................................................................................................................................................[done (2.7 MiB/s)]
Retrieving: xhost-1.0.10-1.2.x86_64 (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                                  (178/1275),  33.3 KiB    
Retrieving: xhost-1.0.10-1.2.x86_64.rpm ...........................................................................................................................................................................................................................................................................................................................................................................................[done (33.3 KiB/s)]
Retrieving: xxd-9.1.1330-1.1.x86_64 (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                                  (179/1275), 334.6 KiB    
Retrieving: xxd-9.1.1330-1.1.x86_64.rpm ............................................................................................................................................................................................................................................................................................................................................................................................[done (2.4 MiB/s)]
Retrieving: yast2-journal-5.0.2-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                           (180/1275),  29.9 KiB    
Retrieving: yast2-journal-5.0.2-1.1.noarch.rpm ....................................................................................................................................................................................................................................................................................................................................................................................[done (29.9 KiB/s)]
Retrieving: yast2-qt-branding-openSUSE-84.87.20240405-4.11.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                    (181/1275),  26.2 KiB    
Retrieving: yast2-qt-branding-openSUSE-84.87.20240405-4.11.noarch.rpm .............................................................................................................................................................................................................................................................................................................................................................[done (26.2 KiB/s)]
Retrieving: ethtool-bash-completion-6.14-2.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                  (182/1275),  18.6 KiB    
Retrieving: ethtool-bash-completion-6.14-2.1.noarch.rpm ........................................................................................................................................................................................................................................................................................................................................................................................[done]
Retrieving: fzf-bash-integration-0.61.3-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                   (183/1275),  42.9 KiB    
Retrieving: fzf-bash-integration-0.61.3-1.1.noarch.rpm .........................................................................................................................................................................................................................................................................................................................................................................................[done]
Retrieving: ghc-conduit-extra-1.3.7-1.5.x86_64 (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                       (184/1275), 103.0 KiB    
Retrieving: ghc-conduit-extra-1.3.7-1.5.x86_64.rpm .................................................................................................................................................................................................................................................................................................................................................................................[done (1.1 MiB/s)]
Retrieving: kf6-kcoreaddons-lang-6.13.0-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                   (185/1275), 108.7 KiB    
Retrieving: kf6-kcoreaddons-lang-6.13.0-1.1.noarch.rpm ...........................................................................................................................................................................................................................................................................................................................................................................[done (815.9 KiB/s)]
Retrieving: kf6-kuserfeedback-lang-6.13.0-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                                 (186/1275), 181.1 KiB    
Retrieving: kf6-kuserfeedback-lang-6.13.0-1.1.noarch.rpm ...........................................................................................................................................................................................................................................................................................................................................................................[done (1.4 MiB/s)]
Retrieving: kidentitymanagement-lang-25.04.0-1.1.noarch (Main Repository (OSS))                                                                                                                                                                                                                                                                                                                                              (187/1275),  76.0 KiB    
Retrieving: kidentitymanagement-lang-25.04.0-1.1.noarch.rpm ...................

Try making it

sudo env ZYPP_PCK_PRELOAD=1 ZYPP_CURL2=1 zypper dup
1 Like

I thought putting the sudo at the beginning would set the root env and thus that’s why the dev listed it that way…maybe they are doing something different. Thanks as that seems to work as I’m getting the preload output now, it’s not as fast as I thought it would be. Perhaps I can adjust it to a USA mirror or does it use a cdn by default?

I’m getting about 3-4 MiB/s which isn’t close to what my connection can handle. I don’t think adjusting the downloads to more concurrent connections would help since it seems to be a speed issue on the remote side.

I assume a bash alias would work with that command?

I appreciate your reply and help, thank you!