I have installed Private Last Mile peers and plan to set up Private Last Mile (PLM) tests. So that I can configure the PLM tests with optimal settings, can you explain how does the PLM tests scheduling work?
Dynatrace Synthetic Classic: Private Last Mile (PLM) tests
The Private Last Mile test scheduling has two major components:
How peers get the tests to execute
To set up Private Last Mile tests after PLM peers are installed, create Private Last Mile Peer Populations (See the help page Peer Populations). PLM tests are scheduled on peer population(s), not directly on peers.
In Private Last Mile, each test execution is a job. After tests are active, the system will assign the test execution jobs to the peer populations selected. Then it will search for active peers that match the criteria set up for each of the peer populations. After qualified peers are found for a peer population, when there is a job pending to run, whichever peer among the qualified peers checks in first to request a new job will get the job. Each peer runs one job at a time.
Note that peers under the same peer population are not scheduled in a round-robin style. As a result, it could happen that the same peers always run the jobs; or one peer under a population with multiple peers does not run any job; or one peer may run more jobs than other peers under the same population.
After a peer finishes executing a job, it will send data back to our system and then request another job. If there is another job pending for the peer population that this peer belongs to, it will get it; if there are no more jobs for the current scheduling period, the peer will sleep/idle for 2 minutes then check in again. (Peer idle time has been reduced from 4 minutes to 2 minutes as of the May 2016 Release).
How the configured number of measurements/tests are scheduled to run within an hour
PLM tests are designed so that you select how many data points/measurements you want for a one-hour-period. The number of measurements configured for an hour is divided into four and assigned to four 1-hour execution periods, using quarter-hour time stamps.
XX:00 to (XX+1):00;
XX:15 to (XX+1):15;
XX:30 to (XX+1):30:
XX:45 to (XX+1):45.
Private Last Mile uses an algorithm to ensure that the jobs are dispatched close to each time window.
For jobs scheduled to run between XX:00 to (XX+1):00, peers that check in after XX:00 will get the jobs and execute. Currently, we do not support auto-rescheduling for jobs that are not run within the scheduled time period. Setting up four 1-hour time periods will give peers an extra 45 minutes to run the configured/scheduled jobs, in case of any connection issue or machine problem.
As long as peers are available and have the capacity to finish all jobs scheduled for the time window within 15 minutes, you will get the desired number of measurements thus have nothing to worry about.
Test A is scheduled for Peer Population 1 to run 10 times an hour. The ten measurements/jobs will be divided into four and each 1-hour window will get 2 or 3 jobs to run. For example, the execution pattern may be 2,3,2,3 or 3,2,3,2.
For the 2 or 3 jobs within the 1-hour window, as soon as peers are available and have the capacity to run more jobs, they will be executed and done. These jobs could be executed side by side or divided.