robots.txt + X-Robots-Tag.Some integrations or scripts might hit /api/v1/... endpoints repeatedly.
You can check logs:
tail -f /var/log/koha/yourinstance/opac-access.log tail -f /var/log/koha/yourinstance/intranet-access.log
Not enough or too many Plack workers.
Misaligned with server RAM/CPU.
Koha uses plack for faster Perl web serving. Too many or too few workers can cause high load or slow performance.
Check current workers:
cat /etc/koha/sites/yourinstance/koha-conf.xml | grep -i prefork
Example section:
<plack_max_requests>50</plack_max_requests>
<plack_workers>2</plack_workers>
Basic rule:
For 2 CPU cores, use 2 workers.
For 4 CPU cores, try 3–4 workers.
Use:
robots.txt → stop OPAC crawling.
fail2ban or iptables → block aggressive IPs.
Apache mod_evasive → throttle abusive requests.
If you use Zebra:
Don’t run indexing too frequently.
Run at low-traffic times:
sudo koha-rebuild-zebra -v -f yourinstance
Sometimes cron jobs hammer the server. Look:
crontab -l -u koha
See if koha-run-backups, koha-index-daemon, or cronjobs are too frequent.
If you don’t need Koha’s REST API externally, block it in Apache or firewall.
Example Apache:
<Location /api>
Require ip YOUR.INTERNAL.IP.RANGE
</Location>
Or block it completely with:
RedirectMatch 403 ^/api