Teknoloji

Paylaşımlı Hosting’de ‘Resource Limit Reached’ Hatasını Önlemek

İçindekiler

‘Resource Limit Reached’ Hatası Neden Bu Kadar Can Sıkıyor?

Paylaşımlı hosting kullanırken cPanel’de sık sık “Resource Limit Reached” uyarısını görmek, sadece teknik bir detay değil; doğrudan satışlarınızı, SEO performansınızı ve marka algınızı etkileyen bir problem. Ziyaretçi sayınız artsa da artmasa da, sitede sayfa geçişlerinin yavaşlaması, 503 hataları veya anlık kesintiler yaşıyorsanız, arka planda büyük ihtimalle CPU, RAM, IO ya da EP limitlerinden en az biri zorlanıyordur.

DCHost tarafında yüzlerce paylaşımlı hosting hesabını izlerken gördüğümüz net bir gerçek var: Aynı pakette, benzer trafikte iki siteden biri rahatça çalışırken diğeri sürekli limite toslayabiliyor. Farkı yaratan şey genellikle “daha güçlü sunucu” değil, uygulama seviyesinde yapılan küçük ama kritik ayarlar. Bu yazıda size, mevcut paketinizi sonuna kadar verimli kullanarak, mümkün olduğunca “Resource Limit Reached” hatasını görmeden nasıl uzun süre stabil kalabileceğinizi adım adım anlatacağız.

Önce cPanel ve CloudLinux’un koyduğu limitleri sade dille açıklayacağız, ardından da CPU, RAM, IO ve EP tüketimini ayrı ayrı düşürmek için uygulayabileceğiniz somut taktikler üzerinden gideceğiz. Yazının sonunda elinizde, hem teknik ekibinizle hem de geliştiricinizle paylaşabileceğiniz net bir aksiyon listesi olacak.

CPU, RAM, IO ve EP Nedir? cPanel’deki Kaynak Limitlerini Doğru Okumak

Paylaşımlı hosting altyapılarında (özellikle CloudLinux kullanılan ortamlarda) her hesap, belirli kaynak limitleri ile izole edilir. Bu sayede aynı sunucudaki başka bir hesabın hatası tüm sunucuyu çökertmez. Ancak bu da sizin hesabınızın sınırları olduğu anlamına gelir.

Detaylı teorik açıklamalar için hazırladığımız cPanel’de kaynak limitleri ve ‘Resource Limit Reached’ hatası rehberini inceleyebilirsiniz. Burada kısaca özetleyelim:

  • CPU (vCPU) Limiti: İşlemci gücünüzün üst sınırıdır. Örneğin %100, size ayrılan sanal çekirdeğin tamamını kullandığınız anlamına gelir. Uzun süre %100 civarında kalmak, ciddi yavaşlama ve hata üretir.
  • RAM (Physical Memory): PHP, veritabanı bağlantıları ve diğer süreçlerin kullandığı bellek. Limit aşıldığında, süreçler “Killed” olur, sayfalar beyaz ekran veya 500/503 hatası verebilir.
  • IO (Disk IO): Disk okuma/yazma hızınızın sınırı. Yedek alan eklentileri, büyük log’lar veya optimize edilmemiş medya, IO’yu tavana vurdurabilir.
  • EP (Entry Processes): Aynı anda açık olan PHP/CGI giriş süreçleri. Anlık trafik patlamaları, bot taramaları veya ağır sayfalar EP’yi doldurarak yeni isteklere 503 hatası ürettirebilir.

cPanel’de “Resource Usage” ekranında, hangi limitlere ne sıklıkta çarptığınızı görebilirsiniz. Bu grafikleri düzenli takip etmek, sadece hatayı görmekten çok daha değerlidir; problemi erken teşhis imkanı sağlar.

İlk Adım: Kaynak Tüketimini Doğru Teşhis Etmek

Optimizasyona başlamadan önce, neyin problem yarattığını netleştirmek gerekir. Aksi halde yanlış noktaya odaklanıp zaman kaybedersiniz. DCHost’ta müşterilerle çalışırken genellikle şu teşhis adımlarını izliyoruz:

1. cPanel Resource Usage Raporlarını İnceleyin

  • Zaman aralığı seçin: Son 24 saat, son 7 gün ve son 30 günü ayrı ayrı kontrol edin.
  • Hangi limit tavan yapıyor? CPU mu, RAM mi, IO mu, EP mi? Hepsi aynı anda nadiren sorun olur; genelde bir-iki tanesi baskındır.
  • Patern yakalayın: Belirli saatlerde mi artıyor? Örneğin her gece 03:00’te IO patlıyorsa, büyük ihtimalle bir yedekleme eklentisi veya cron işiniz devrededir.

2. Hata Logları ve Erişim Loglarını Kontrol Edin

  • error_log: PHP hata kayıtlarında hafıza (memory) hataları, zaman aşımı (timeout) veya eklenti uyumsuzlukları arayın.
  • Erişim logları: Aynı IP’den çok sayıda istek, anormal User-Agent’ler veya sürekli taranan belirli URL’ler (örneğin /wp-login.php, /xmlrpc.php gibi) bot trafiğine işaret edebilir.

3. Uygulama Türünü ve Trafik Profili Analiz Edin

WordPress, WooCommerce, Laravel, özel PHP uygulaması, forum yazılımı veya LMS gibi farklı uygulamalar kaynak tüketimini farklı şekilde zorlar. Ayrıca:

  • Genelde kaç eşzamanlı ziyaretçiniz var?
  • Yoğun trafik saatleriniz hangileri?
  • Ödeme, arama, filtreleme gibi ağır sorgularınız var mı?

Bu soruların cevabı, hangi limit için önce aksiyon almanız gerektiğini gösterir.

CPU Kullanımını Düşürme Taktikleri

CPU, paylaşımlı hosting’de en hızlı dolan limitlerden biridir. Özellikle WordPress + WooCommerce kombinasyonlarında, kötü optimize edilmiş bir tema veya birkaç ağır eklenti, tüm işlemci payınızı yiyebilir.

1. PHP Sürümünü ve Handler’ı Güncelleyin

  • cPanel’de en güncel, kararlı PHP 8.x sürümünü kullanmaya çalışın. Yeni sürümler genelde daha performanslıdır.
  • Gerekirse, geliştiricinizle birlikte uyumluluk testleri yapın; ama sırf “alıştık” diye 7.x sürümlerinde kalmayın.

2. Tam Sayfa Önbellek (Full Page Cache) Kullanın

CPU tüketimini dramatik biçimde düşüren en büyük hamlelerden biri, dinamik sayfaları mümkün olduğunca statik olarak sunmaktır.

  • LiteSpeed altyapılı sunucularda, LiteSpeed Cache eklentisini doğru kurmak, PHP tarafındaki yükü çok ciddi oranda azaltır.
  • Bu konuda adım adım ayar örnekleri için LiteSpeed Cache ile WordPress hızlandırma rehberimizi mutlaka inceleyin.
  • Cache’i sadece ana sayfada değil; kategori, yazı ve statik sayfalarda da agresif şekilde kullanın. Üye girişi ve sepet gibi dinamik sayfalar için ise uygun istisna kuralları tanımlayın.

3. Eklenti ve Tema Temizliği Yapın

  • Kullandığınız eklentileri tek tek gözden geçirin, gerçekten işinize yaramayanları kaldırın (sadece devre dışı bırakmak da bir yere kadar yeterli olur; en temizi tamamen silmektir).
  • Ağır sayfaları test ederken, eklentileri toplu olarak devre dışı bırakıp, sonra tek tek açarak CPU tüketimine en çok etki edenleri tespit edin.
  • Aşırı genel amaçlı, her işi yapan dev eklentiler yerine, ihtiyaca yönelik hafif eklentiler kullanmaya çalışın.

4. Harici İstekleri (API, Embed, Reklam) Azaltın

Sayfa yüklenirken yapılan her harici API çağrısı, gömülü sosyal medya bileşeni veya reklam scripti, CPU’yu ve yanıt süresini etkiler. Özellikle:

  • Her sayfada sosyal medya “feed”i göstermek yerine, statik embed’ler veya önbelleğe alınmış içerikler kullanın.
  • Analitik ve reklam kodlarını minimumda tutun; aynı işlevi gören birden fazla izleme scriptinden kaçının.

5. WordPress Yönetici Trafiğini Ayırın

Yoğun içerik girilen sitelerde, editörlerin WordPress panelinde yaptığı işlemler (yeni yazı ekleme, toplu resim yükleme, eklenti güncelleme) de CPU’yu zorlar. Bu yüzden:

  • Mümkünse, ağır yönetim işlemlerini trafiğin düşük olduğu saatlere planlayın.
  • Özellikle WooCommerce sipariş ve rapor ekranlarında gereksiz filtreler veya liste uzunlukları kullanmayın.

RAM ve EP Limitlerine Takılmamak İçin Uygulama Optimizasyonu

RAM ve EP limitleri genelde “site ara ara açılmıyor, sonra düzeliyor” şikayetlerinde karşımıza çıkar. Bir anda çok sayıda PHP sürecinin açılması ya da her süreçte gereğinden fazla bellek kullanılması, bu iki limitin hızla dolmasına neden olur.

1. PHP Memory Limit Ayarını Gerçekçi Tutun

php.ini veya .htaccess üzerinden bellek limitini “ne kadar yüksek, o kadar iyi” mantığıyla artırmak, paylaşımlı hosting’de ters tepebilir. Çünkü:

  • Her PHP süreci için tanımladığınız üst limit ne kadar yüksekse, teoride o kadar fazla RAM tüketilebilir.
  • Birden fazla eşzamanlı istek geldiğinde, toplam bellek tüketimi çabuk tavana vurur.

Bu nedenle geliştiricinizle konuşup, uygulamanız için gerçekçi bir memory_limit değeri belirleyin (örneğin çoğu normal WordPress sitesi için 256M genellikle yeterlidir; çok ağır WooCommerce sitelerinde daha yukarı çıkılabilir ama mutlaka test edilmelidir).

2. wp-cron ve Zamanlanmış Görevleri Düzenleyin

WordPress tarafında varsayılan olarak her sayfa isteğinde tetiklenen wp-cron.php, yoğun sitelerde gereksiz PHP süreçlerine ve dolayısıyla hem RAM hem EP kullanımına neden olabilir.

3. Uzun Süre Çalışan İşlemleri Azaltın

  • Toplu içe aktarma (import), toplu e-posta gönderimi veya büyük raporlar gibi uzun süren görevleri daha küçük parçalara bölün.
  • Mümkünse bu tip işlemleri komut satırı (CLI) ile, ayrı zamanlarda ve düşük yoğunlukta çalışacak şekilde planlayın (paylaşımlı hosting sınırları dahilinde).

4. Veritabanı Sorgularını Gözden Geçirin

Ağır ve optimize edilmemiş SQL sorguları, hem CPU hem RAM hem de EP’yi etkiler. Geliştirici tarafında yapılabilecekler:

  • Gereksiz JOIN ve alt sorguları sadeleştirmek,
  • Eksik indeksleri tamamlamak,
  • Liste sayfalarında gereksiz sütunları veya karmaşık filtreleri azaltmak,
  • Sık kullanılan ama nadir değişen verileri (örneğin kategori listeleri, menüler) önbelleğe almak.

IO Limitlerini Azaltmak: Disk Erişiminde Temizlik ve Önbellek

Disk IO limiti aşıldığında sayfalar geç açılır, dosya yüklemeleri yavaşlar ve yedek/alma işlerinde süreler uzar. Özellikle HDD yerine SSD/NVMe kullanılan modern altyapılarda IO genelde rahattır; ancak yanlış yapılandırılmış siteler bu avantajı da kolayca tüketebilir.

1. Yedekleme Eklentilerini Gözden Geçirin

Birçok WordPress sitesi, zaten hosting sağlayıcısı düzenli yedek alırken, bir de kendi içinden her gün tam yedek alarak gereksiz IO yükü yaratıyor. Önerimiz:

  • Günlük tam yedek alan ağır eklentileri devre dışı bırakın veya haftalık / aylık seviyesine çekin.
  • Yedekleme işini mümkün olduğunca hosting tarafına bırakın. cPanel ile manuel yedek almak veya gerektiğinde geri yüklemek için hazırladığımız cPanel’de tüm siteyi yedekleme ve geri yükleme rehberini kullanabilirsiniz.

2. Medya Dosyalarını Optimize Edin

  • Gereğinden büyük görseller (örneğin 4000×3000 piksel fotoğrafları 300×300 gösterdiğiniz durumlar) hem disk alanını hem IO’yu gereksiz doldurur.
  • Resimleri yüklemeden önce masaüstünde, makul boyutlara küçültün ve sıkıştırın.
  • Mümkünse WebP/AVIF gibi modern formatları kullanarak dosya boyutlarını azaltın.

3. Gereksiz Log ve Geçici Dosyaları Temizleyin

Bazı eklentiler veya özel scriptler, gereksiz ayrıntıda log tutarak sürekli diske yazma işlemi yapar:

  • Geliştirme ortamında açık bıraktığınız debug ve loglama seçeneklerini canlı ortamda kapattığınızdan emin olun.
  • Geçici (temp) klasörlerini ve eski log dosyalarını periyodik olarak temizleyin.

4. Önbellekleme, IO’yu da Rahatlatır

Yukarıda bahsettiğimiz tam sayfa önbellekleme sadece CPU’yu değil, disk IO’yu da azaltır. Daha az PHP çalışır, daha az dosya okunur, veritabanına daha az sorgu atılır. Bu nedenle cache stratejinizi sadece hız için değil, limitlere takılmamak için de düşünmeniz gerekiyor.

Bot Trafiği, Saldırılar ve EP Patlamaları

“Siteye çok trafik gelmiyor ama yine de limit doluyor” cümlesini sık duyuyorsak, aklımıza ilk gelen senaryolardan biri bot trafiği ve kaba kuvvet (brute-force) denemeleri oluyor. Özellikle:

  • /wp-login.php’ye sürekli istek atan botlar,
  • /xmlrpc.php üzerinden saldırı veya yoğun istekler,
  • Eski eklenti ve temalardaki bilinen güvenlik açıklarını tarayan botlar,

EP limitini hızla doldurabilir.

1. Giriş Sayfalarını Koruyun

  • wp-login ve benzeri yönetim giriş URL’leri için ek korumalar (captcha, rate limit, IP bazlı kısıtlama) ekleyin.
  • WordPress giriş yolunu özelleştiren eklentiler kullanarak otomatik taramaların bir kısmını boşa çıkarabilirsiniz.

2. xmlrpc.php’yi Gözden Geçirin

  • Gerçekten ihtiyacınız yoksa xmlrpc.php erişimini kısıtlayın veya tamamen kapatın.
  • Mobil uygulama veya üçüncü parti servisler kullanıyorsanız, sadece belirli IP’lere izin vermeyi değerlendirin.

3. Güvenlik ve WAF Katmanı Kullanın

Paylaşımlı hosting’de de, uygulama seviyesinde WAF (Web Application Firewall) eklentileri ve temel güvenlik eklentileriyle şüpheli trafiği azaltabilirsiniz. Ayrıca genel DDoS ve saldırı senaryolarına karşı altyapı tarafında neler yapılabileceğini öğrenmek isterseniz, DDoS saldırıları ve korunma yöntemleri rehberimize göz atabilirsiniz.

Kaynakları Ne Kadar Zorlasanız da Yetmiyorsa: Yükseltme Zamanını Doğru Tespit Etmek

Bazen tüm optimizasyonlara rağmen siteniz doğal olarak büyür; ürün sayısı, eşzamanlı ziyaretçi ve sorgu sayısı artar. Bu noktada yapılan en büyük hata, aynı paylaşımlı hosting paketinde inatla kalmaya çalışmaktır.

1. Yükseltme Sinyallerini Tanıyın

Aşağıdaki belirtilerden birkaçını aynı anda görüyorsanız, artık bir üst paketi veya VPS’i ciddiyetle masaya yatırmanız gerekir:

  • cPanel Resource Usage grafiklerinde hemen her gün CPU ya da EP limiti tavan yapıyor.
  • Önbellekleme, görsel optimizasyon, wp-cron düzeltmeleri gibi temel adımların hepsini yaptığınız halde fark sınırlı kalıyorsa.
  • Yoğun saatlerde kullanıcılar düzenli olarak 503 veya zaman aşımı hataları görüyorsa.

Bu konuda daha sistematik bir bakış açısı için, hazırladığımız hosting paketinizi yükseltmeniz gerektiğini gösteren sunucu taraflı sinyaller rehberine mutlaka göz atın.

2. DCHost’ta Doğru Zamanda Doğru Adımı Atmak

DCHost tarafında yaklaşımımız basit: Önce mevcut paketi doğru ayarlarla maksimum verimli hale getirmek, sonra gerçekten ihtiyaç doğduysa daha güçlü paylaşımlı paketlere, yönetilen VPS’e veya dedicated sunucuya geçmek. Böylece gereksiz maliyet artışından kaçınırken, performans tarafında da “nefes alan” bir yapı kurmuş olursunuz.

DCHost Öneri Yol Haritası: ‘Resource Limit Reached’ Hatasını Sistematik Olarak Azaltmak

Yazıyı kapatırken, sahada en çok işimize yarayan adımları kısa bir kontrol listesine dönüştürelim. DCHost ekibi olarak, paylaşımlı hosting’de sık sık “Resource Limit Reached” hatası gören bir siteyi ele aldığımızda tipik olarak şu sırayla ilerliyoruz:

  1. Teşhis: cPanel Resource Usage, error_log ve erişim loglarını analiz edip en çok zorlanan kaynağı (CPU, RAM, IO, EP) belirlemek.
  2. Uygulama Temizliği: Gereksiz eklenti/tema temizliği, PHP sürüm güncellemesi, wp-cron optimizasyonu ve ağır sorguların gözden geçirilmesi.
  3. Önbellek Stratejisi: LiteSpeed Cache veya benzeri çözümlerle tam sayfa ve nesne önbelleği kurmak, bot ve saldırı trafiğini filtrelemek.
  4. Disk ve Yedekleme Düzeni: Gereksiz yedekleme eklentilerini sadeleştirip, cPanel yedekleme araçlarını merkeze alacak şekilde IO yükünü hafifletmek.
  5. Takip ve Karar: Tüm bu adımlardan sonra 1-2 hafta boyunca grafikleri izleyip, gerekirse bir üst DCHost paketine veya VPS’e planlı geçiş yapmak.

Eğer siz de paylaşımlı hosting hesabınızda sık sık “Resource Limit Reached” uyarıları görüyorsanız, yukarıdaki listeyi adım adım uygulayarak başlayabilirsiniz. Uygulama tarafında takıldığınız noktada geliştiricinizle, altyapı tarafında ise DCHost destek ekibiyle birlikte çalışarak hem performansı artırabilir, hem de mevcut kaynaklarınızı çok daha verimli kullanabilirsiniz.

İyi yapılandırılmış bir paylaşımlı hosting hesabı, doğru önbellekleme ve güvenlik katmanlarıyla birlikte uzun süre işinizi görebilir. Ne zaman ki bu sınırlar doğal büyüme nedeniyle dar gelmeye başlar, işte o zaman bir üst seviyeye geçmek çok daha bilinçli ve sakin bir karar haline gelir.

Sıkça Sorulan Sorular

Resource Limit Reached hatası, paylaşımlı hosting hesabınıza tanımlanan CPU, RAM, IO veya EP (Entry Processes) limitlerinden en az birinin belirli bir süre için üst sınırına ulaştığını gösterir. Bu, tüm sunucunun çöktüğü anlamına gelmez; ancak sizin hesabınız için yeni isteklerin yavaşlaması veya hata üretmesi (503, 500, boş sayfa vb.) anlamına gelir. Genellikle yoğun bot trafiği, optimize edilmemiş WordPress eklentileri, ağır veritabanı sorguları, yedekleme eklentilerinin aşırı IO yükü veya yanlış yapılandırılmış wp-cron gibi nedenler bu limite sebep olur. Önce cPanel’de Resource Usage ekranını inceleyip hangi kaynağın tavan yaptığını görmek, sonra da bu kaynağı düşürmeye yönelik adımları uygulamak gerekir.

Daha yüksek pakete geçmek kısa vadede rahatlama sağlayabilir, ancak tek başına kalıcı çözüm değildir. Eğer uygulama seviyesinde ciddi problemler (ağır tema, kötü yazılmış eklenti, bot saldırıları, devasa görseller, yanlış cron ayarları gibi) varsa, daha yüksek pakette de bir süre sonra benzer şekilde limitlere yaklaşmaya başlarsınız. Bu yüzden önce mevcut pakette; eklenti/tema temizliği, önbellekleme (özellikle LiteSpeed Cache), wp-cron’un gerçek cron ile düzenlenmesi ve veritabanı sorgularının gözden geçirilmesi gibi temel optimizasyonları yapmak çok önemlidir. DCHost’ta biz genellikle önce bu adımları uygulayıp, ardından hala yetmiyorsa paket yükseltmeyi öneriyoruz.

Sahada gördüğümüz kadarıyla WordPress sitelerde Resource Limit Reached hatasını en hızlı azaltan üç adım şunlar: 1) Doğru yapılandırılmış tam sayfa önbellek: LiteSpeed altyapısında LiteSpeed Cache eklentisini kurup, genel sayfaları agresif biçimde önbelleğe almak CPU, RAM ve EP kullanımını ciddi biçimde düşürür. 2) wp-cron’un devre dışı bırakılması ve gerçek cron job ile daha seyrek tetiklenmesi; gereksiz PHP süreçlerinin açılmasını engeller. 3) Gereksiz ve ağır eklentilerin tamamen kaldırılması: Özellikle istatistik, backup, görsel galeri, sayfa builder gibi eklentilerden birkaçını sadeleştirmek bile kaynak tüketiminde gözle görülür fark yaratır. Bu üç adımı uyguladıktan sonra cPanel Resource Usage ekranındaki grafiklerdeki değişimi net şekilde görebilirsiniz.

IO limiti aşıldığında, sunucu sizin hesabınız için disk okuma/yazma hızını sınırlar. Bu, özellikle dosya okuyan PHP süreçlerinin ve veritabanı işlemlerinin yavaşlaması anlamına gelir. Kullanıcı tarafında sayfa açılışlarının uzaması, dosya yüklemelerinde gecikmeler ve bazı işlemlerde zaman aşımı hataları görülebilir. Limit anlık olarak aşılıp sonra normale dönebilir; bu yüzden sorunu tespit etmek için cPanel Resource Usage’taki IO grafiğini ve zamana yayılmış verileri incelemek gerekir. Çözüm tarafında ise gereksiz yedekleme eklentilerini devre dışı bırakmak veya seyrekleştirmek, devasa log dosyalarını ve temp klasörlerini temizlemek, görselleri optimize etmek ve veritabanı sorgularını sadeleştirmek genellikle IO tarafını hızla rahatlatır.

Tüm temel optimizasyonları yaptıktan sonra bile zaman zaman Resource Limit Reached uyarısı görüyorsanız, önce bunun kalıcı mı yoksa anlık, masum sıçramalar mı olduğuna bakmanız gerekir. Kısa süreli, nadir sıçramalar genellikle kabul edilebilir ve ziyaretçilerin büyük kısmını etkilemez. Ancak her gün aynı saatlerde veya kampanya dönemlerinde düzenli tekrar ediyorsa, bu artık iş yükünüzün mevcut paketin sınırlarına dayandığını gösterir. Böyle bir durumda DCHost destek ekibine grafik ve gözlemlerinizi iletip, birlikte bir kapasite analizi yapmanızı ve gerekirse bir üst paylaşımlı paket veya yönetilen VPS’e geçiş planlamanızı öneririz. Bu geçişleri doğru planladığınızda, hem kesinti yaşamadan taşıma yapabilir hem de uzun vadeli büyüme için daha sağlıklı bir zemin oluşturabilirsiniz.