• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Forwarded to devs If the "Maximum number of simultaneously running scheduled backup processes" is set, shorter backups that start after a longer backup are prioritized

Bitpalast

Plesk addicted!
Plesk Guru
Username:

TITLE

If the "Maximum number of simultaneously running scheduled backup processes" is set, shorter backups that start after a longer backup are prioritized

PRODUCT, VERSION, OPERATING SYSTEM, ARCHITECTURE

CentOS 7.9, Plesk Obsidian with latest MU

PROBLEM DESCRIPTION

Scenario:

"Maximum number of simultaneously running scheduled backup processes" is set to "2",
Backup process priority: 10, IO priority: 7
Run all backup processes with low priority.

A full server backup starts at 1 am. It normally stores approx. 500 GB to an external FTP storage and normally finishes at around 9 am.
However, on the server approximately eight subscribers have defined their subscription backups to run some time between 2 am and 7 am.

All of the shorter individual subscriber backups are executed within an expected, short backup duration. But they hinder the longer full server backup, that started way earlier than the subscriber backups, from continuing. This results in a very long delay of approximately 3 h 30 m (in this case) for the full server backup. Once all the shorter subscriber backups are through, the full server backup continues.

It seems that either due to process priority settings or the "simultaneously running" setting it is possible that backups take priority over an already started backup, maybe during backup process "breaks" of the longer, already started process?

Please see
for more details including log excerpts.

STEPS TO REPRODUCE

Probably something like this:
1) Create a significant amount of data in some subscriptions, so that a full server backup takes a long time to complete, e.g. several hours.
2) Create several subscriptions with individual backup jobs that are scheduled within a certain time frame.
3) Define a full server backup that starts before the first individual subscription backup.
4) Check telemetry of the full server backup.

ACTUAL RESULT

Not sure if this is easy to reproduce, because it might need specific "timed" hits on exactly the right time slot so that subscriber backups gain priority over an already running full server backup. But my result here is that the full server backup is paused until all subscriber backups that were started later completed.

EXPECTED RESULT

First come, first serve. If the full server backup is started first at night, it should maintain priority over all consecutive backup processes that are scheduled by subscribers. It should not pause for what reason ever just because a subscriber backup for some reason was "faster" to gain control over a process slot.

ANY ADDITIONAL INFORMATION

(DID NOT ANSWER QUESTION)

YOUR EXPECTATIONS FROM PLESK SERVICE TEAM

Help with sorting out
 
Peter, here is response from the developer:

Hello, I would like to provide you the following points:

1. The described behaviour looks expected since when several (two) backup processes working simultaneously there will be some perfomance decreasing, that affects all processes.
2. The gap in provided logs is also expected because at this time frame (02:30-06:03) packing is ongoing.

So what I suggest:
1. make sure that in the period from 1:00 till 9:00 no other scheduled task and resource consuming operations perform
2. make sure that full server backup and subscription backup processes have the same iopriority and priority. To do that perform the following:
2.1. Wait for full server backup was running as scheduled
2.2. connect server via SSH as root and execute

# ps aux | grep backup_agent

in the output receive something like:

root 1040866 5.9 10.8 171856 108564 ? SN 18:38 0:01 /usr/bin/sw-engine -c /opt/psa/admin/conf/php.ini /opt/psa/admin/sbin/backup_agent --dump -server -owner-guid 13dba0df-a591-11ec-97f2-c43772bcf717 -owner-type server -description-file /opt/psa/PMM/sessions/2022-04-11-183857.774/dump_description -compression-level fast -debug -session-path /opt/psa/PMM/sessions/2022-04-11-183857.774

where important for us is time (18:38 in example) and PID (1040866 in example)
further, execute

# ps -eo ppid,ni,comm | grep backup

the output will look like:

1040866 10 backup-archiver

use the first number from output execute

# ionice -p 1040866

the output will looks like:

best-effort: prio 7

2.3. From the aforementioned outputs we could see that
priority = 10; iopriority = 7

2.4. Wait for one of the subscription backup was running as scheduled and again execute

# ps aux | grep backup_agent

in the output receive something like:

root 1055555 5.9 10.8 171856 108564 ? SN 20:38 0:01 /usr/bin/sw-engine -c /opt/psa/admin/conf/php.ini /opt/psa/admin/sbin/backup_agent --dump -server -owner-guid abcdef-a591-11ec-97f2-c43772bcf717 -owner-type server -description-file /opt/psa/PMM/sessions/2022-04-11-203857.774/dump_description -compression-level fast -debug -session-path /opt/psa/PMM/sessions/2022-04-11-203857.774

where important for us is time (20:38 in the example) and PID (1055555 in the example)
further, execute

# ps -eo ppid,ni,comm | grep backup

the output will look like:

1055555 10 backup-archiver

use the first number from output execute

# ionice -p 1055555

the output will look like:

best-effort: prio 7

2.5. From the aforementioned outputs we could see that
priority = 10; iopriority = 7

If values from 2.3 and 2.5 are equal, that means priorities for all backups are the same and no interference from the Plesk side, most probably something else affects the duration of backup procedure execution.
 
Back
Top