Merhabalar,
Geçtiğimiz yıl OpenCart altyapısı ile oluşturduğum web sitesi son zamanlarda ciddi şekilde yavaşlamaya başladı ve sık sık 503 Service Unavailable hatası veriyor. Sorunun kaynağını tespit edebilmek için birçok işlem yaptım: gereksiz dosyaları sildim, veritabanındaki session kayıtlarını temizledim, kullanılmayan eklenti ve modifikasyonları kaldırdım, önbelleği (cache) temizledim. Ancak tüm bu işlemlere rağmen site hâlâ yavaş çalışıyor ve zaman zaman erişilemez hale geliyor.
Bu durumun asıl sebebi ne olabilir ve kalıcı bir çözüm için hangi adımları izlemem gerekir?
Opencart Yavaşlamaya Başladı 503
5
●170
- 03-12-2025, 10:34:35
1️⃣ 503 Hatasının Gerçek Sebebini Bul: Kaynak Limitleri mi?
503 çoğu zaman:- PHP memory limit dolması
- CPU / RAM limitine takılma (özellikle shared hosting)
- PHP-FPM / Apache worker sayısı yetersizliği
- MySQLin kilitlenmesi / yavaş sorguları
1. Sunucu error loglarını mutlaka kontrol et
SSH veya panelden şu loglara bak:- error_log (Apache/Nginx)
- php_error.log veya php-fpm.log
- Eğer varsa: opencart_system/storage/logs/ içi
- Allowed memory size of ... bytes exhausted → PHP memory limit artırman lazım
- MySQL server has gone away / Too many connections → MySQL ayarları / çok fazla sorgu
- upstream timed out (Nginx) → PHP cevap veremiyor, script çok uzun sürüyor
Burada asıl amaç: Kod mu, veritabanı mı, sunucu limiti mi? sorusuna cevap bulmak.
2️⃣ Veritabanı Kaynaklı Yavaşlık: Özellikle oc_session, oc_cart, oc_log
Sen zaten session kayıtlarını temizlemişsin ama yine de şunları kontrol et:
2.1. Aşırı şişmiş tablolar var mı?
phpMyAdminden veya başka bir araçla tabloların boyutuna bak:- oc_session
- oc_cart
- oc_customer_login
- oc_log
- oc_order, oc_order_history
- Üçüncü parti modüllerin oluşturduğu log tabloları
- Gereksiz log / session tablolarını periyodik olarak TRUNCATE et
- Tabloları OPTIMIZE TABLE ile optimize et
2.2. Index eksikliği
Bazı temalar / modüller özel tablolar kullanıyor ama index koymuyor. Bu da tablolar büyüyünce siteyi beton gibi yapıyor.- Büyük olan özel tabloları (modül tabloları vs.) incele
- En çok WHEREde kullanılan alanlar için INDEX var mı bak
- Yoksa ekle (burada istersen bana tablonun yapısını at, beraber index tasarlayalım)
3️⃣ Eklenti / Tema Kaynaklı Performans Sorunları
Sen kullanılmayan eklenti ve modifikasyonları kaldırdım demişsin ama:- Aktif tema + aktif birkaç modül bile tek başına sistemi çökertiyor olabilir.
3.1. Varsayılan tema ile test
Mümkünse:- Mevcut temanın dosyalarını yedekle
- OpenCartın default temasına geç
- Sadece çekirdek modüller açıkken birkaç sayfayı test et (kategori, ürün, sepet)
Eğer default temada site uçuyorsa, asıl sorun:
Tema dosyalarındaki ağır sorgular,
Aşırı sayıda veritabanı çağrısı,
Gereksiz sayfa içi döngüler vs.3.2. Ağır çalışan modülleri yakala
Özellikle şu tip modüller çok yorar:- Gelişmiş filtreleme modülleri (her sayfada tonla sorgu)
- Menü / mega menu modülleri (aşırı kategori çekmek)
- Ziyaretçi istatistik, ziyaretçi online takibi, ısı haritası vs.
- SEO modülleri (URL rewrite, canonical vs. için ekstra sorgular)
Deneme için: Bu modülleri sırayla devre dışı bırakıp sayfa açılış sürelerini karşılaştır.
4️⃣ Sunucu Yapılandırması: CPU, RAM, Limits, PHP Versiyonu
4.1. Bariz ama kritik: Hosting durumu
- Shared hostingte misin,
- Yoksa VPS / dedicated mi kullanıyorsun?
- Aynı sunucuda kaynak yiyen başka siteler,
- Hesaba tanımlı max_entry_proc, CPU, RAM limitlerine takılma,
- Limit dolunca hosting 503 dönmeye başlar.
Hosting panelinden resource usage / CPU & Memory Usage grafiğine mutlaka bak.
4.2. PHP versiyonu ve limitler
OpenCart genelde şu versiyonlarda daha rahat:- PHP 7.4 / 8.0 (kullandığın OC sürümüne göre değişir, 2.x için 7.4, 3.x için 7.48.0/8.1 genelde iyi)
- memory_limit → minimum 256M, mümkünse 512M
- max_execution_time → 60120
- max_input_vars → en az 3000 (büyük formlar / filtreler için)
- upload_max_filesize, post_max_size → medyan çoksa bunlar da önemli
5️⃣ Cache & OpCache & CDN Kullanımı
Cache temizledim demişsin ama burada 2 konu var:- OpenCart içindeki template/data cache
- Sunucu tarafı cache (OpCache, Redis, Varnish, LiteSpeed Cache vs.)
5.1. PHP OpCache aktif mi?
OpCache, PHP kodunu derlenmiş halde tutar, her istekte tekrar derlemek zorunda kalmaz. Özellikle:- opcache.enable=1
- opcache.memory_consumption=128
- opcache.max_accelerated_files=8000 gibi
Bunu hosting destekten de sorabilirsin:PHP OpCache aktif mi? Değilse aktif edebilir misiniz?
5.2. Sayfa cache / modül cache
- Bazı OpenCart performans modülleri full page cache mantığı ile çalışır.
- Cloudflare gibi CDN kullanıyorsan:
- Statik içerikler (css/js/görseller) CDNden gelsin,
- HTML response için agresif cache kullanma; giriş yapan kullanıcılar, sepet vs. bozulmasın.
6️⃣ Cron Joblar, Otomatik İşlemler, Bot Trafiği
6.1. Cron / otomatik tasks
Bazı modüller:- Her cron çalıştığında binlerce kayıt üzerinde işlem yapar,
- Mail gönderir,
- Dış APIlere istek atar.
Cron zamanlarını daha sakin saatlere al.
Örneğin: gece 03:00-04:00 arası.
6.2. Bot / saldırı / anormal trafik
- Loglarda kısa sürede çok fazla istek görebilirsin (özellikle /index.php?route=product/category&path=... türü).
- Bazı botlar/İndexerlar filtreleri, aramayı, kategori sayfalarını sürekli tarayıp sunucuyu gömebiliyor.
- robots.txt ile gereksiz sayfaları botlara kapat
- WAF / güvenlik duvarı (Cloudflare, hosting WAF) ile IP bazlı rate limit kullan
7️⃣ Kalıcı Çözüm Stratejisi (Özet Yol Haritası)
Toparlarsak, kalıcı çözüm için:- Logları incele
- PHP error, web server error, OpenCart log → asıl sebebi tahminle değil kanıtla bul.
- Veritabanını toparla
- Şişmiş tabloları TRUNCATE + OPTIMIZE
- Gerekirse eksik index ekle
- Tema / modül etkisini test et
- Default tema + minimal modüller ile hız test
- Ağır modülleri tespit edip alternatif / optimize et
- Sunucu kaynaklarını kontrol et
- CPU, RAM, I/O limitleri
- Gerekirse daha güçlü hosting / VPSe geç
- PHP & Cache optimizasyonu yap
- PHP versiyonunu uygun bir sürüme çek
- Memory limit vb. ayarları yükselt
- OpCache kullan
- Bot / anormal trafik / cron yükünü düzenle
- robots.txt, WAF, cron saatleri
- 03-12-2025, 10:48:05Dddos alıyorsunuzdur, kaynaklar yetmiyordur veya host ise ana sunucuda sorunlar vardır vs bir çok sebebi var. Alan adınızı cloudflare altına çekip kurallandırabilirsiniz, hem ziyaret logu ve ddos olasılığını tespit etmek basic kullanıcı için daha kolay olur hem de waf kuralları oluşturabilirsiniz.
- 03-12-2025, 10:52:19php sürümünden kaynaklı olabilir mi hocam 7.3 kuruluydu 8.3 aldığımda sitede hatalar oluşuyor opencart sürmü 3.0.3.8 olduğu içinCliaWeb adlı üyeden alıntı: mesajı görüntüle
- 03-12-2025, 11:00:133.0.3.8 de php 7.3 kullanmanız gerekir - 8.3+ için tüm sistemi optimize etmek gerekir zaman alır - opencart da kendi içinde otomatik güncelleme olmadığı için onu orjinal nasıl kurduysanız öyle kalır - en son sürüm kuracak onun ile uyumlu eklentileri ve tema yı kurmalısınız - 3x9 php 8.1 destekler - muhakkak destek alın kafanıza göre giderseniz ticaretiniz zarar görür.