Cron çalışma sıklığı yüksek olan sitelerde limit nasıl belirlenmeli?

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.

Reklam Alanı

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.

Cron limitini belirlerken önce işin maliyetini ölçün

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:

  • Çalışma süresi: Görev 30 saniyeden uzun sürüyorsa çok sık tetiklenmemelidir.
  • CPU etkisi: Kısa süreli ani yükselmeler kabul edilebilir; sürekli yüksek kullanım risklidir.
  • Veritabanı yükü: Büyük sorgular ve toplu güncellemeler düşük trafikli saatlere alınmalıdır.
  • Çakışma durumu: Aynı görevin birden fazla örneği aynı anda çalışmamalıdır.

İdeal cron sıklığı nasıl hesaplanır?

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ı, VPS ve özel sunucuda limit yaklaşımı

Paylaşımlı altyapıda daha sıkı sınırlar gerekir

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 ve özel sunucuda izleme şarttı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.

Yüksek sıklık gerektiren görevlerde parçalama yöntemi

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 sitelerinde dikkat edilmesi gerekenler

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.

Limit belirlerken yapılmaması gereken hatalar

  • Her görevi aynı dakikada başlatmak yerine zamanları dağıtın.
  • Yedekleme ve raporlama gibi ağır işleri yoğun saatlere koymayın.
  • Başarısız görevleri sınırsız yeniden denemeye bırakmayın.
  • Log tutmadan sıklık artırmayın; sorun olduğunda nedenini bulamazsınız.
  • Veritabanı bakımını cron ile yapıyorsanız işlem süresini düzenli kontrol edin.

Uygulanabilir cron limit tablosu mantığı

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.

Kategori: Donanım
Yazar: Meka
İçerik: 634 kelime
Okuma Süresi: 5 dakika
Zaman: 7 gün önce
Yayım: 08-07-2026
Güncelleme: 08-07-2026