Při vytváření zálohy pomocí komponenty Akeeba Backup se může na některých sdílených hostinzích objevit chyba:
AJAX Loading Error
HTTP Status: 429
429 Too Many Requests
openresty
Tato chyba obvykle znamená, že server vyhodnotil požadavky Akeeba Backup jako příliš časté nebo příliš náročné a dočasně další požadavky zablokoval. Nejde tedy nutně o chybu Joomla nebo Akeeba Backup, ale zpravidla o omezení hostingu, například:
- omezení počtu požadavků za určitý čas,
- omezení CPU výkonu,
- omezení PHP procesů,
- ochranu reverzní proxy nebo webového serveru,
- krátký maximální čas běhu PHP procesu.
Doporučené nastavení Akeeba Backup
Nastavení najdete v administraci Joomla:
Komponenty → Akeeba Backup → Profile Configuration → Fine tuning
| Nastavení | Doporučená hodnota | Význam |
|---|---|---|
| Minimum execution time | 2.00 s | Minimální délka jednoho AJAX kroku. Vyšší hodnota snižuje frekvenci požadavků na server. |
| Maximum execution time | 2 s | Maximální čas, po který Akeeba aktivně provádí operace v rámci jednoho kroku. |
| Execution time bias | 50 % | Rezerva, kterou si Akeeba ponechává vůči maximálnímu povolenému času PHP procesu. |
| Resume backup after an AJAX error has occurred | Ano | Po AJAX chybě se Akeeba pokusí v záloze pokračovat. |
| Wait period before retrying the backup step | 30 s | Doba, po kterou Akeeba po chybě čeká před novým pokusem. |
| Maximum retries of a backup step after an AJAX error | 5 | Maximální počet opakování neúspěšného kroku. |
| Set an infinite PHP time limit | Ne | Na sdíleném hostingu zpravidla není vhodné snažit se rušit časový limit PHP. |
| Set a large memory limit | Ano | Akeeba se pokusí využít vyšší dostupný PHP memory limit. |
Proč zvýšit Minimum execution time?
Při chybě 429 Too Many Requests je důležité omezit počet AJAX požadavků, které Akeeba odesílá na server. Pokud je jeden krok dokončen příliš rychle, Akeeba okamžitě spustí další požadavek. Server může sérii rychle po sobě jdoucích požadavků vyhodnotit jako nadměrnou zátěž.
Nastavením:
Minimum execution time: 2.00 s
se zajistí, že jednotlivé kroky nebudou následovat příliš rychle za sebou.
Pokud chyba 429 přetrvává, lze hodnotu postupně zvýšit:
2 s → 3 s → 5 s
Vyšší hodnota sice prodlouží celkovou dobu zálohování, ale výrazně sníží počet požadavků odesílaných na server.
Archivní formát
Jako archivační formát je vhodné použít:
JPA format (recommended)
Formát JPA je pro Akeeba Backup optimalizovaný a zpravidla je na sdíleném hostingu méně náročný než klasický ZIP archiv.
Rozdělení velkého archivu
V sekci:
Archiver engine → JPA format
lze nastavit:
Part size for split archives: 100 MB
Akeeba poté nevytvoří jeden velký soubor, ale rozdělí zálohu do několika částí. Například:
site-backup.jpa
site-backup.j01
site-backup.j02
site-backup.j03
Při obnově webu je nutné mít všechny části archivu uložené společně ve stejném adresáři.
Doporučené základní nastavení
Archiver engine:
JPA format
Minimum execution time:
2.00 s
Maximum execution time:
2 s
Execution time bias:
50 %
Resume backup after AJAX error:
Ano
Wait period before retrying:
30 s
Maximum retries:
5
Set an infinite PHP time limit:
Ne
Set a large memory limit:
Ano
Part size for split archives:
100 MB
Pokud se chyba 429 stále objevuje
Pokud se záloha stále zastavuje chybou 429 Too Many Requests, doporučuje se postupně zvýšit parametr:
Minimum execution time
například nejprve na:
3.00 s
a pokud problém pokračuje:
5.00 s
Ostatní hodnoty lze ponechat beze změny.
Co znamená odpověď OpenResty?
Pokud chybová stránka obsahuje:
429 Too Many Requests
openresty
znamená to, že požadavek byl pravděpodobně odmítnut ještě na úrovni webového serveru nebo reverzní proxy. Akeeba tedy nemusí být ukončena samotnou Joomla nebo PHP, ale některou z ochranných nebo výkonových vrstev hostingu.
Další doporučení
- nezálohovat staré zálohy Akeeba Backup,
- vyloučit nepotřebné cache adresáře,
- vyloučit velké dočasné soubory,
- používat JPA místo ZIP,
- u velkých webů rozdělit archiv na části,
- při opakované chybě 429 zvýšit Minimum execution time,
- ověřit u hostingu limity PHP procesů, CPU a počet povolených požadavků.
Závěr
Chyba 429 Too Many Requests při zálohování pomocí Akeeba Backup obvykle neznamená poškození Joomla ani samotné komponenty. Nejčastěji jde o ochranu nebo výkonové omezení hostingu.
Pro sdílený hosting je vhodné Akeeba Backup nastavit tak, aby jednotlivé kroky probíhaly pomaleji a server nebyl zatěžován velkým množstvím AJAX požadavků v krátkém čase. Jako výchozí hodnota se osvědčuje Minimum execution time 2 sekundy; v případě pokračujících problémů lze použít 3 až 5 sekund.
