Cron çalışma sıklığı yüksek sitelerde kaynak tüketimini kontrol etmek için ideal limitleri, sunucu yükünü ve WordPress cron ayarlarını pratik şekilde planlayın.
Cron görevleri, yedekleme, e-posta kuyruğu, stok senkronizasyonu, raporlama, cache temizleme ve entegrasyon işlemleri için kritik öneme sahiptir. Ancak çalışma sıklığı gereğinden yüksek ayarlandığında CPU, RAM, disk I/O ve veritabanı üzerinde beklenmeyen yük oluşturabilir. Bu nedenle limit belirlerken yalnızca “kaç dakikada bir çalışsın?” sorusuna değil, her görevin ne kadar kaynak tükettiğine, ne kadar sürdüğüne ve aynı anda kaç işlem başlattığına bakmak gerekir.
Sağlıklı bir limitin temeli ölçümdür. Bir cron görevinin ortalama çalışma süresi, en uzun çalışma süresi, bellek kullanımı, sorgu sayısı ve hata oranı izlenmeden yapılan ayarlar çoğu zaman tahmine dayanır. Özellikle yoğun trafikli sitelerde 1 dakikalık aralıkla çalışan bir görev, önceki işlem bitmeden yenisini başlatıyorsa kısa sürede kuyruk ve kilitlenme sorunları görülebilir.
Pratik bir başlangıç için şu değerleri takip edin:
En güvenli yaklaşım, görevin tamamlanma süresine güvenlik payı eklemektir. Örneğin bir işlem ortalama 40 saniyede, yoğun saatlerde 90 saniyede bitiyorsa bu cron için 1 dakikalık aralık doğru değildir. En az 3-5 dakikalık aralık tercih edilmelidir. Böylece geçici yavaşlamalarda görevler üst üste binmez.
Basit karar kuralı şu şekilde uygulanabilir: Cron aralığı, görevin en uzun gözlenen çalışma süresinin en az 2 katı olmalıdır. Kritik sistemlerde bu katsayı 3’e çıkarılabilir. Bu yaklaşım, hosting kaynaklarının daha dengeli kullanılmasını ve ani kaynak tüketimi nedeniyle hizmet kesintisi yaşanmamasını sağlar.
Paylaşımlı ortamlarda aynı fiziksel kaynaklar birden fazla kullanıcı tarafından kullanıldığı için cron görevleri daha dikkatli planlanmalıdır. Her dakika çalışan ağır işlemler genellikle uygun değildir. E-posta gönderimi, ürün içe aktarma veya yedekleme gibi görevler 5, 10, 15 ya da 30 dakikalık aralıklarla çalıştırılmalıdır.
VPS veya dedicated sunucu kullanıldığında daha esnek davranılabilir; ancak bu sınırsız çalışma anlamına gelmez. CPU çekirdek sayısı, RAM kapasitesi, disk tipi ve veritabanı yapılandırması dikkate alınmalıdır. NVMe diskli güçlü bir sunucu ile sınırlı RAM’e sahip küçük bir VPS için aynı cron politikası uygulanmamalıdır.
Bazı sistemlerde cron’un sık çalışması gerçekten gerekebilir. Örneğin sipariş senkronizasyonu, ödeme bildirimi kontrolü veya anlık stok güncellemesi gecikmeye tolerans göstermeyebilir. Bu durumda tek bir ağır görevi her dakika çalıştırmak yerine işlem küçük parçalara ayrılmalıdır.
Örneğin 10.000 kaydı tek seferde güncellemek yerine her çalışmada 200-500 kayıt işlemek daha güvenlidir. Bu yöntem hem zaman aşımı riskini azaltır hem de veritabanı kilitlenmelerinin önüne geçer. Ayrıca başarısız olan parçanın yeniden denenmesi daha kolay olur.
WordPress’te varsayılan WP-Cron gerçek sistem cron’u gibi çalışmaz; ziyaretçi trafiğine bağlı tetiklenir. Trafik düşükse görevler gecikebilir, trafik çok yüksekse gereğinden fazla tetiklenme görülebilir. Kurumsal projelerde WP-Cron’u devre dışı bırakıp sistem cron’u ile kontrollü çalıştırmak daha öngörülebilir sonuç verir.
Tipik bir WordPress sitesi için 5 dakikalık sistem cron aralığı çoğu senaryoda yeterlidir. WooCommerce, LMS, üyelik sistemi veya dış entegrasyon kullanan sitelerde bu değer ihtiyaca göre 1-5 dakika aralığında değerlendirilebilir. Burada önemli olan, cron sıklığını artırmadan önce eklentilerin oluşturduğu görevleri incelemektir.
Hafif kontrol görevleri 1-5 dakikada bir, orta seviye senkronizasyonlar 5-15 dakikada bir, ağır raporlama ve yedekleme işlemleri ise saatlik ya da günlük çalıştırılmalıdır. Eğer bir görev mutlaka sık çalışacaksa eşzamanlı çalışmayı engelleyen kilit mekanizması kullanılmalıdır. Böylece önceki işlem bitmeden yenisi başlamaz.
Doğru limit, sitenin trafik yapısı, işlem hacmi ve hosting kaynakları birlikte değerlendirilerek belirlenir. İlk ayar yapıldıktan sonra CPU grafikleri, hata kayıtları, veritabanı yanıt süreleri ve cron logları birkaç gün izlenmeli; gerekirse aralıklar kademeli olarak artırılmalı veya azaltılmalıdır. Bu yöntem, hem performansı korur hem de gereksiz kaynak tüketimini görünür hale getirir.