cPanel hızlandırma: PHP, PHP-FPM ve OPcache ayarları
cPanel optimizasyonu için önce gecikmenin hangi sayfada ve ne zaman oluştuğunu belirleyin; ardından o sayfayı çalıştıran PHP ayarlarını ve sunucu kaynaklarını kontrol edin. Bu rehber, cPanel üzerinde PHP kullanan sitelerde ölçüm yapmayı ve uygun değişikliği güvenli biçimde denemeyi anlatır.
Siteniz 500 Internal Server Error veriyorsa: 500 hatası rehberi, hata kaydıyla nedeni belirleyip son değişikliği kontrol etmenize yardımcı olur. Hata giderildikten sonra performans ölçümüne dönebilirsiniz.
Rehberin sonunda: Sitenizin PHP sürümünü ve gerekli uzantılarını tanıyacak, PHP-FPM ile OPcache'in ne yaptığını anlayacak ve yaptığınız değişikliğin işe yarayıp yaramadığını kontrol edebileceksiniz. Her site için geçerli bir RAM, işlem sayısı veya “yüzde şu kadar hızlanma” değeri yoktur.
1. Hangi ayarları değiştirebildiğinizi belirleyin
cPanel, bir hosting hesabının sitelerini yönetir. WHM, sunucudaki hesapları ve ortak web sunucusu bileşenlerini yönetir. DCHost müşteri portalındaki hesap, cPanel kullanıcısı ve VPS'in root hesabı ayrı erişimlerdir.
| Erişiminiz | Bu rehberde kullanacağınız alanlar |
|---|---|
| Hosting hesabınızın cPanel'i | Alan adının PHP sürümü, izin verilen PHP INI ayarları, hata kayıtları ve sunuluyorsa sıkıştırma |
| Kendi VPS/VDS sunucunuzun yetkili WHM hesabı | EasyApache paketleri, alan adına özel PHP-FPM, sunucu servisleri ve süreçler |
| Yalnız müşteri portalı | Önce hosting hizmetinizin cPanel girişini açın; portalda görünmeyen WHM yetkisini var saymayın |
Panelde bir araç görünmüyorsa hizmette sunulmuyor veya yetkinize açılmamış olabilir. Sunucuya başka bir PHP yöneticisi kurarak eksik menüyü tamamlamaya çalışmayın; mevcut hizmetin desteklediği yöntemi kullanın.
Değişiklikten önce:
- Doğru alan adı ve hosting hesabında olduğunuzu kontrol edin.
- Mevcut PHP sürümünü, PHP-FPM durumunu ve değiştireceğiniz değerleri not edin.
- Dosya ve veritabanının güncel kopyasını alın; geri yükleme yöntemini doğrulayın.
- Mümkünse ayrı, erişimi kısıtlı bir test kopyası hazırlayın. Test kopyası gerçek ödeme, sipariş bildirimi veya müşterilere e-posta göndermemeli.
- Ziyaretçilerin daha az etkileneceği zamanı seçin. Aynı anda bir ayar grubunu değiştirin.
Bir snapshot veya EasyApache profili oluşturmak, uygulamanın geri yüklenmesini denediğiniz anlamına gelmez. Sunucuya ait ortak ayarları değiştirecekseniz çalışan ikinci yönetim bağlantısını ve geri erişim yolunu da koruyun.
Bu uygulamada değişiklikten önce site dosyaları, veritabanı ve ilgili yapılandırma için ayrı özel yedekler alındı. EasyApache paket seçimi ayrıca profil olarak saklandı; profil, bu yedeklerin yerine kullanılmadı.
2. Yavaşlığı ölçün ve doğru hesabı bulun
Önce sorunlu sayfanın adresini ve saati kaydedin. Yalnız ana sayfayı değil, yavaş olduğunu gördüğünüz işlemi deneyin: ürün araması, yönetici girişi veya içerik kaydetme gibi. Aynı adresi, benzer ağ koşullarında birkaç kez kontrol edin; tek ölçüme göre karar vermeyin.
| Kontrol | Nerede bakılır? | Sonuç nasıl okunur? |
|---|---|---|
| Site yanıtı ve hata kodu | Tarayıcıda sorunlu sayfa; geliştirici araçlarının Network sekmesi | Uzun ilk yanıt, büyük görseller ve hatalı istekler farklı sorunlardır |
| Disk ve dosya sayısı | cPanel ana ekranındaki Statistics ve sunulan disk araçları | Boş alan ve inode sınırını ayrı inceleyin |
| Servisler ve sunucu özeti | WHM → Server Status → Service Status | up servis kontrolüdür; sitenin bütün işlemlerinin çalıştığını kanıtlamaz |
| O anda çalışan işlemler | WHM → System Health → Process Manager | Owner, CPU%, Memory% ve Command ile ilgili hesabı/süreci bulun |
| Gün içindeki kullanım | WHM → Server Status → Daily Process Log | Günlük ortalama ile Top Processes içindeki anlık en yüksek değer aynı değildir |
Hosting hesabında CPU grafiği görünmüyorsa: cPanel'in CPU Usage, Memory Usage ve Entry Processes istatistikleri CloudLinux kullanılan sistemlere bağlıdır. AlmaLinux üzerindeki her cPanel hesabında bu alanlar bulunmaz. Görünmeyen bir menüyü aramak yerine hizmetinizde sunulan ölçümü kullanın veya destekten ilgili zaman aralığını incelemesini isteyin.
Process Manager'da yoğun bir süreç görmek, onu hemen kapatmanız gerektiği anlamına gelmez. Veritabanı, yedekleme veya güncelleme işlemini rastgele sonlandırmak veri kaybına yol açabilir. Önce süreç sahibini, işi ve ne kadar süredir devam ettiğini belirleyin.
Service Status, izlemeye alınmış servislerin durumunu gösterir.


1. adım: Önce izleme kapsamını görün
- Önce izleme kapsamını görün
Üst açıklama, yalnız izlenen servislerin listelendiğini belirtir.
Görmeniz gereken: Listede olmayan servis hakkında bu ekrandan sonuç çıkarılmaz.
- Web ve veritabanı servislerini ayırın
httpd web sunucusudur; mariadb veritabanı servisidir. Status sütununu okuyun.
Görmeniz gereken: Servis durumu, uygulama işlemleriyle ayrıca doğrulanır.
cpanel_php_fpm, cPanel yönetim arayüzünün PHP servisiyle ilgilidir; tek başına sitenizin PHP-FPM havuzunu doğrulamaz. Bu anlık servis kaydı hız testi değildir.
Service Status yalnız izlenen servisleri listeler. Örnekte httpd ve mariadb up durumundadır; bu, uygulamanın bütün sayfalarının ve işlemlerinin çalıştığını tek başına göstermez.
Aynı Service Status sayfasının sistem ve disk özeti.


1. adım: Yük ve bellek satırlarını okuyun
- Yük ve bellek satırlarını okuyun
Server Load, Memory Used ve Swap Used farklı ölçümlerdir.
Görmeniz gereken: Tek bir yüzdeye göre PHP limiti artırılmaz.
- Doğru disk bölümünü kontrol edin
Mount Point ve Usage ile doluluğun hangi bölüme ait olduğunu bulun.
Görmeniz gereken: Disk doluluğu ile PHP bellek sınırı birbirine karıştırılmaz.
Değerler çekim anına aittir; sunucunun yoğun saat kapasitesini veya paketin kaynak taahhüdünü göstermez.
Daily Process Log iki farklı tabloyu birlikte gösterir.


1. adım: Üst tablonun zaman aralığını okuyun
- Üst tablonun zaman aralığını okuyun
Üst açıklama, değerlerin günün başlangıcından itibaren ortalama olduğunu söyler.
Görmeniz gereken: Günlük ortalama anlık CPU değeri gibi yorumlanmaz.
- Top Processes içindeki işi tanıyın
Owner ve Process satırını birlikte okuyun; örnekte post-install.php işlemi vardır.
Görmeniz gereken: Kurulum işi, sitenin sürekli yükü olarak sunulmaz.
Tablo gerçek kayıttır. Süreci tanımadan sonlandırmayın; bu ekran bir ziyaretçi kapasitesi ölçümü değildir.
Bu gerçek Daily Process Log kaydının üst tablosu, günün başlangıcından itibaren ortalamaları gösterir. Alttaki Top Processes bölümünde kurulum sonrası WP Toolkit işlemi görünür. Buradaki yüksek süreç değeri, müşteriye ait sitenin sürekli bu kadar işlemci kullandığı anlamına gelmez.
Sunucu tarafında ayrıntı gerekiyorsa CPU, RAM, swap ve disk kontrolü rehberini kullanın. Disk doluluğunu PHP bellek limitini artırarak çözemezsiniz; büyük görsellerin indirme süresi de PHP-FPM ayarıyla doğrudan düzelmez.
3. Alan adının PHP sürümünü kontrol edin
PHP, WordPress gibi uygulamaları çalıştıran yazılımdır. Menüde bir sürümün bulunması, o sürümün hâlâ PHP projesinden güvenlik güncellemesi aldığı anlamına gelmez. Uygulamanızın uyumluluk listesini ve PHP'nin güncel destek takvimini birlikte kontrol edin.
cPanel → Software → MultiPHP Manager yolunu açın:
- Değişiklik yapacağınız alan adını bulun; mevcut PHP Version değerini not edin.
- Inherited / inherit görüyorsanız sürümün bir üst ayardan alındığını anlayın. Sistem varsayılanı bütün hesaplar için aynı etkiye sahip değildir.
- Uygulama, tema ve eklentilerle uyumlu, güvenlik desteği süren sürümü test ortamında deneyin.
- Alan adının kutusunu seçin; uygun sürümü PHP Version menüsünden belirleyip Apply ile uygulayın.
- Siteyi, yönetici girişini ve bir içerik kaydetme işlemini kontrol edin. Hata kayıtlarını yeniden okuyun.
İstediğiniz sürüm listede yoksa sunucuda kurulu olmayabilir veya hesabınıza açılmamıştır. Hosting kullanıcısı olarak destek ekibine başvurun. WHM yöneticisiyseniz sonraki bölümde EasyApache paketlerini kontrol edin.
WHM yöneticisi için gerçek PHP 8.2 → 8.3 örneği
Bu uygulamadaki değişiklik WHM → Software → MultiPHP Manager → User Domain Settings üzerinden tek demo alan adında yapıldı. Başlangıçta PHP 8.2 (ea-php82) ve PHP-FPM Enabled görünüyordu; Inherit seçili değildi.
WHM User Domain Settings içindeki tek demo alan adı satırı.


1. adım: Mevcut PHP sürümünü not edin
- Mevcut PHP sürümünü not edin
PHP Version burada PHP 8.2 (ea-php82) gösteriyor.
Görmeniz gereken: Geri dönüş için başlangıç sürümü bellidir.
- FPM ve Inherit durumunu ayırın
Inherit seçili değil; PHP-FPM Enabled görünüyor.
Görmeniz gereken: Hangi ayarın etkin olduğunu ayrı ayrı okursunuz.
Bu bir WHM yönetici ekranıdır. Kendi hesabınızın cPanel ekranıyla aynı düğmeleri varsaymayın.
Alan adının kendi PHP Version menüsü açılıp PHP 8.3 (ea-php83) seçildi. Bu, WHM'deki satır menüsüdür; yukarıdaki cPanel Apply adımıyla aynı düğme değildir. Toplu Set PHP Version veya sistem varsayılanı değiştirilmedi.
Sürüm seçenekleri alan adının kendi satır menüsünde açıldı.


1. adım: Doğru satır menüsünü kullanın
- Doğru satır menüsünü kullanın
Açılan menü tek alan adına aittir; üstteki toplu işlem ayrı kapsamdadır.
Görmeniz gereken: Değişikliğin kapsamı tek alan adıyla tutulur.
- Uygun sürümü seçin
Bu demoda PHP 8.3 (ea-php83) seçildi; uygulama uyumluluğunu önce değerlendirin.
Görmeniz gereken: Seçim sonrası tamamlanmış durumu ayrıca kontrol edersiniz.
Menüde görünmek, bir PHP dalının hâlâ upstream güvenlik desteği aldığı anlamına gelmez.
İşlem tamamlandıktan sonra satır PHP 8.3 ve PHP-FPM Enabled olarak yeniden kontrol edildi. Sitenin gerçek PHP yanıtı ve veritabanı okuması da OPcache bölümündeki testte doğrulandı.
Son görüntü, yüklenme simgesi kaybolduktan sonra alındı.


1. adım: Son sürüm değerini okuyun
- Son sürüm değerini okuyun
PHP Version artık PHP 8.3 (ea-php83) gösteriyor.
Görmeniz gereken: Satırda yeni seçimin yerleştiği görülür.
- FPM durumunu yeniden kontrol edin
PHP-FPM Enabled durumunu koruyor.
Görmeniz gereken: Sonraki doğrulama gerçek web isteğinde yapılır.
Bu panel sonucu web isteğindeki PHP/OPcache kontrolüyle tamamlandı. Görsel PHP ayarını gösterir; genel DNS ve HTTPS son kontrolü ayrı yapılmıştır.
Geri dönüş: Uygulama hata verirse not ettiğiniz önceki sürüme dönün ve tekrar test edin. Bu yalnız ortam seçimini geri alır; aynı anda uygulama veya veritabanı güncellediyseniz o değişikliklerin geri dönüşü ayrıca gerekir. Güvenlik desteği bitmiş sürüme dönmek kalıcı çözüm değildir.
4. Gerekli PHP uzantılarını EasyApache ile yönetin
Bu bölüm yetkili WHM yöneticisi içindir. PHP uzantısı, uygulamanın ihtiyaç duyduğu ek işlevi sağlar. Bir sürümde kurulu uzantı, başka PHP sürümünde otomatik olarak hazır sayılmaz.
WHM → Software → EasyApache 4 yolunu açın:
- Currently Installed Packages → View all packages ile kurulu sürüm ve uzantıları inceleyin.
- Uygulamanın istediği uzantıları kendi sistem gereksinimleriyle karşılaştırın. “Ne kadar çok uzantı, o kadar hızlı site” yaklaşımı doğru değildir.
- Mevcut paket seçimini ayrıca kaydetmek için Convert to profile kullanabilirsiniz. Bu profil site dosyalarını, veritabanını veya bütün özel ayarlarınızı yedeklemez.
- Değişiklik gerekiyorsa mevcut kurulumun Customize yolunu izleyin. PHP Versions ve PHP Extensions adımlarında doğru PHP dalını seçin.
- Review ekranında kurulacak, güncellenecek, kaldırılacak ve değişmeyecek paketleri okuyun. Beklemediğiniz kaldırma veya başka siteleri etkileyen değişiklik varsa ilerlemeyin.
- Plan uygunsa Provision ile işlemi başlatın; tamamlanma sonucunu bekleyin. Ardından ilgili siteleri tekrar kontrol edin.
Bu uygulamada ne kaydedildi, ne kuruldu?
Önce kurulu paket seçimi DCHost demo baseline 2026-10-15 adlı profil olarak saklandı. Aşağıdaki görüntü, Convert to profile formundaki adı ve dosya adını gösterir. Bu kayıt dosya, veritabanı veya bütün özel ayarların yedeği değildir.
Convert to profile, kurulu paketlerin seçimini kaydeder.


1. adım: Ad ve dosya adını ayırın
- Ad ve dosya adını ayırın
Name açıklayıcı etikettir; Filename profilin dosya adıdır.
Görmeniz gereken: Sonradan bulunabilecek bir paket seçimi kaydı hazırlanır.
- Profilin kapsamını bilin
Convert bu seçimi kaydeder; site dosyaları, veritabanı ve özel ayarlar ayrı yedeklenir.
Görmeniz gereken: Paket profili tam sunucu yedeği gibi kullanılmaz.
Görüntü dönüştürme öncesi gerçek formdur. Profil kaydı ayrıca tamamlandı; dosya/veritabanı/yapılandırma yedekleri ayrı alındı.
Son Review ekranında üç ekleme vardı: php82-php-opcache, php83-php-opcache ve aynı bakımda planlanan modsec2-rules-owasp-crs. Yükseltilecek paket yoktu; kaldırılacak paket yoktu. OWASP CRS güvenlik kurallarıdır; OPcache'in çalışması için zorunlu bir hızlandırma paketi değildir.
Son Review ekranı eklenecek, yükseltilecek ve kaldırılacak paketleri ayırır.


1. adım: Eklenecek paketleri tanıyın
- Eklenecek paketleri tanıyın
İki OPcache paketi ve aynı bakımda planlanan OWASP CRS listeleniyor.
Görmeniz gereken: Sürüm ve güvenlik paketi ayrımı görülür.
- Yükseltme ve kaldırmayı da okuyun
Bu gerçek planda her iki grupta da paket yok. Başka bir sunucuda sonuç farklı olabilir.
Görmeniz gereken: Yalnız ekleme listesine bakılarak Provision yapılmaz.
OWASP CRS güvenlik kurallarıdır; OPcache için zorunlu bir performans bağımlılığı değildir.
Provision tamamlandıktan sonra The provision process is complete sonucu alındı; paketlerin kurulu durumu ayrıca kontrol edildi. Sonraki adım, kurulu uzantıyı web isteğinde doğrulamaktır.
Uzun işlem günlüğünün sonu ve WHM tamamlanma bildirimi.


1. adım: Sonuç mesajını görün
- Sonuç mesajını görün
The provision process is complete bildirimi geldi.
Görmeniz gereken: Arayüzün kurulum işlemini tamamladığı görülür.
- Uygulama kontrolüne devam edin
Done ile arayüze dönülür; kurulu paket ve web yanıtı ayrıca kontrol edilir.
Görmeniz gereken: İşlem mesajı uygulama testinin yerini almaz.
Paketlerin kurulu durumu ayrıca doğrulandı. Bu ekran hız veya trafik yükü ölçümü değildir.
Aynı PHP sürümünü birden fazla hesap kullanabilir. Ortak uzantı veya web sunucusu paketi değişikliği yalnız seçtiğiniz bir siteyi etkilemeyebilir. İnternetten bulunan başka bir EasyApache profilini incelemeden yüklemeyin.
5. PHP-FPM'i alan adı düzeyinde değerlendirin
PHP-FPM, PHP isteklerini karşılayan çalışan süreçleri yönetir. Havuz, belirli bir site/hesap için ayrılan süreç grubudur. Uygun iş yükünde yararlı olabilir; PHP-FPM'i açmak tek başına hızlı site garantisi değildir.
WHM → Software → MultiPHP Manager → User Domain Settings yolunu açın:
- Alan adı satırındaki Account, PHP Version ve PHP-FPM değerlerini kontrol edin.
- PHP sürümü Inherit ise FPM ayarı kullanılamaz. Uygun, açık bir PHP sürümü atamadan sonraki adıma geçmeyin.
- Alan adı başka alan adlarıyla aynı document root klasörünü kullanıyorsa birlikte etkilenebileceklerini kontrol edin.
- Uygulama ve kaynak planı uygunsa yalnız ilgili alan adında PHP-FPM'i Enabled yapın.
- PHP-FPM Settings içindeki Show Help Text açıklamalarını okuyun. Mevcut değerleri kaydetmeden değiştirmeyin.
| Ayar | Ne anlama gelir? | Neden rastgele artırılmaz? |
|---|---|---|
| Max Children | Havuzda çalışabilecek en fazla PHP-FPM süreci | Daha çok eşzamanlı süreç, daha çok RAM ve veritabanı bağlantısı gerektirebilir |
| Max Requests | Bir süreç yenilenmeden önce karşılayacağı istek sayısı | Sitenin saniyedeki ziyaretçi limiti değildir |
| Process Idle Timeout | Boşta kalan sürecin bekleme süresi | Kapatma/yeniden başlatma davranışını ve boşta tutulan kaynakları etkiler |
Daha fazla süreç her zaman daha hızlı yanıt vermez. Önce PHP süreçlerinin gerçek bellek kullanımını, diğer hesapları, veritabanını ve işletim sisteminin ihtiyacını ölçün. Bütün RAM'i yalnız PHP'ye ayırmayın; yoğun zamanda oluşan beklemeleri ve hata kayıtlarını da değerlendirin.
Değişiklik gerekiyorsa bir ayarı gerekçesiyle değiştirin. Validate Settings yapılandırmayı doğrular; performans testi yapmaz. Update ile kaydettikten sonra uygulamayı ve servisleri kontrol edin. Reset Settings, kaydedilmiş değerlere dönmek içindir; daha önce kaydettiğiniz bir değişikliği otomatik olarak eski tarihe geri almaz.
Bu havuzun başlangıç değerleri değiştirilmedi.


1. adım: İstek ile eşzamanlı süreç sayısını ayırın
- İstek ile eşzamanlı süreç sayısını ayırın
Max Requests süreç yenileme eşiği, Max Children eşzamanlı süreç sınırıdır.
Görmeniz gereken: Bu sayılar saniyedeki ziyaretçi kapasitesi değildir.
- Boşta bekleme süresini okuyun
Process Idle Timeout, boşta kalan sürecin davranışını etkiler.
Görmeniz gereken: Kaynak ölçümü olmadan evrensel değer seçilmez.
20/5/10 bu demo havuzunun gerçek başlangıç değerleridir; bütün sitelere uygulanacak öneri değildir.
Bu demo havuzunda başlangıç değerleri Max Requests 20, Max Children 5 ve Process Idle Timeout 10 idi. Gereksiz bir değişiklik yapmak için artırılmadılar; bu değerleri her sunucuya uygulanacak reçete olarak kullanmayın.
Validate Settings sonucundaki gerçek bilgi mesajı.


1. adım: Geçerlilik sonucunu okuyun
- Geçerlilik sonucunu okuyun
Valid PHP-FPM settings, ayarların kabul edilen biçimde olduğunu belirtir.
Görmeniz gereken: Bu bir performans testi sonucu değildir.
- Update adımını ayrı görün
Mesaj, kaydetmek için Update gerektiğini ayrıca söylüyor.
Görmeniz gereken: Doğrulama mesajı tek başına kaydedildi demek değildir.
Bu çalışmada havuzun başlangıç değerleri korunmuştur; mesajdaki genel “changed values” ifadesi değiştirme kanıtı olarak kullanılmaz.
Validate Settings geçerli yapılandırma mesajını gösterdi. Mesajdaki Update ayrı kaydetme adımıdır. Bu kontrol, havuz değerlerinin değiştirildiğini veya sitenin hızlandığını kanıtlamaz.
System Settings ve Enable on All Domains daha geniş kapsamlıdır. Bir siteyi incelerken bütün alan adlarını topluca dönüştürmeyin. Kendi hesabınızın cPanel'inde yalnız FPM durumunu görmeniz, sunucunun havuz ayarlarını değiştirme yetkiniz olduğu anlamına gelmez.
6. OPcache'in gerçekten çalıştığını doğrulayın
OPcache, PHP dosyalarının derlenmiş kodunu bellekte tutar; aynı kodun her istekte yeniden hazırlanma işini azaltır. Sayfanın HTML çıktısını saklayan önbellek, WordPress eklentisinin önbelleği ve Redis gibi nesne önbellekleri farklı katmanlardır.
WHM yöneticisi olarak:
- Sitenin kullandığı PHP sürümünü önceki bölümden belirleyin.
- EasyApache 4 paketlerinde o PHP sürümüne ait OPcache uzantısını kontrol edin. Kurulum gerekiyorsa Review ekranındaki etkileri önce okuyun.
- Kullanılan PHP handler'ının uyumunu kontrol edin. cPanel'in resmi belgesi opcode cache için suPHP ve CGI handler'larını uyumlu saymaz.
- Sunucunun ilgili PHP sürümü yapılandırmasında OPcache ayarlarını inceleyin. Paket kurulu olması tek başına etkin ve yararlı çalıştığını kanıtlamaz.
- Sitenin web isteğini karşılayan PHP ortamında etkin durumu ve hata kayıtlarını doğrulayın. Terminaldeki
php -vveya CLI OPcache sonucu, web sitesinin aynı ayarla çalıştığını kanıtlamaz.
Bu kontrol gerekiyorsa erişimi sınırlı test ortamında yalnız gerekli teşhis bilgilerini gösterin. Herkese açık phpinfo() sayfası bırakmayın; test dosyasını iş bitince kaldırın. Hosting hesabınızda bu bilgileri güvenle göremiyorsanız destekten kontrol isteyin.
Web isteğiyle alınan gerçek sonuç
Erişimi sınırlandırılmış demo sayfası, terminal yerine web sunucusunun çalıştırdığı PHP'den aşağıdaki sonucu verdi:
Bu görüntü, erişimi sınırlandırılmış gerçek demo sayfasının ürettiği sonuçtur.


1. adım: PHP ortamını ve önbelleği okuyun
- PHP ortamını ve önbelleği okuyun
PHP, Web runtime ve OPcache satırları web isteğini karşılayan ortamı gösterir.
Görmeniz gereken: CLI sonucundan farklı olarak gerçek web ortamı doğrulanır.
- Testin kapsamını doğru okuyun
Database read Passed yalnız veritabanı okumasını; alttaki alanlar etkin PHP limitlerini gösterir.
Görmeniz gereken: Yazma, yük veya genel HTTPS testi yapılmış sayılmaz.
Bu ilk ölçüm yerel adres çözümlemesiyle yapıldı; hızlanma veya yoğun trafik kapasitesi ölçümü değildir. Genel DNS ve HTTPS sonradan ayrı olarak doğrulandı.
| Kontrol | Gerçek sonuç |
|---|---|
| PHP sürümü | 8.3.35 |
| Web çalışma biçimi | fpm-fcgi |
| OPcache | Enabled |
| Veritabanı okuması | Passed |
| Etkin bellek/yükleme/POST sınırları | 128M / 2M / 8M |
Bu ilk denemede alan adı yalnız test tarayıcısında sunucuya yönlendirildi. Sonuç PHP ortamını ve veritabanı okumasını doğrular; genel DNS yayını, normal HTTPS erişimi, veritabanına yazma veya yük testi sonucu değildir. Üretim sitenizde bunları kendi normal adresi üzerinden ayrıca kontrol edin.
Ayrı HTTPS son kontrolü: Daha sonra müşteri cPanel hesabındaki Wizard üzerinden Let's Encrypt sertifikası alındı. Site normal DNS çözümlemesiyle, yerel yönlendirme kullanılmadan ve sertifika uyarısı atlanmadan HTTPS üzerinden açıldı; PHP sayfası 200 yanıtı verdi ve veritabanı okuması başarılı oldu. Sertifika ve HTTPS kontrolünün adımlarını izleyebilirsiniz. Aşağıdaki gzip boyutları önceki HTTP karşılaştırmasına aittir; HTTPS üzerinden yeni hız veya boyut ölçümü yapılmadı.
Bellek ayarı: OPcache için ayrılan bellek, PHP'nin memory_limit ayarıyla aynı şey değildir. Projenin dosya sayısı, kullanılan PHP sürümleri ve sunucunun diğer işleri birlikte değerlendirilir. Her siteye uygulanacak tek bir OPcache bellek değeri yoktur.
Kod güncellemeleri: Dosya değişikliklerinin denetlenmesini kapatmak, yeni kodun beklediğiniz anda devreye girmemesine yol açabilir. Dağıtım sırasında önbelleğin nasıl yenileneceği açıkça planlanmadan opcache.validate_timestamps gibi ayarları değiştirmeyin.
7. PHP limitlerini ihtiyaca göre düzenleyin
cPanel → Software → MultiPHP INI Editor → Basic Mode yolunu açın. Configure PHP INI basic settings menüsünde tek siteyi düzenlemek için ilgili alan adını seçin. Home Directory daha geniş, hesap düzeyinde etki gösterebilir.
| Ayar | Ne içindir? | Yanlış beklenti |
|---|---|---|
memory_limit | Bir PHP çalışmasının kullanabileceği belleği sınırlar | Artırmak sunucuya fiziksel RAM eklemez veya bellek tüketen hatalı kodu düzeltmez |
max_execution_time | PHP işleminin çalışma süresi sınırıdır | Süreyi uzatmak yavaş işlemi hızlandırmaz |
upload_max_filesize / post_max_size | Dosya yükleme ve POST gövdesi sınırlarını etkiler | Genel site hızlandırma ayarı değildir; uygulama ve diğer katmanların sınırları da vardır |
| Hata kaydı / ekranda hata gösterimi | Teşhis bilgisinin nereye yazılacağını belirler | Canlı sitede ziyaretçiye ayrıntılı hata açmak performans çözümü değildir |
Uygulamanın gerçek gereksinimine göre değiştirin ve Apply ile kaydedin. Ardından özellikle bu değişiklikle ilgili işlemi deneyin. INI dosyasına yazılan değer, sunucunun bütün üst düzey kısıtlarını geçersiz kılmaz; uygulamanın etkin ayarını ayrıca kontrol edin.
Gerçek müşteri hesabının Basic Mode görünümü; özel alan adı ve yollar gizlendi.


1. adım: Doğru konumu ve sürümü kontrol edin
- Doğru konumu ve sürümü kontrol edin
Önce alan adını seçin; PHP Version satırında bu örnekte ea-php83 görünür.
Görmeniz gereken: Home Directory ile alan adı kapsamı karıştırılmaz.
- Bellek ve yükleme limitlerini ayırın
128M memory_limit, 8M post_max_size ve 2M upload_max_filesize farklı sınırlar tanımlar.
Görmeniz gereken: Görünür bütün değerleri artırmak hızlandırma yöntemi değildir.
Bu değerler değiştirilmedi; web testindeki etkin 128M/2M/8M sonuçlarıyla karşılaştırıldı.
Gerçek müşteri hesabında doğru alan adı seçildi; PHP Version ea-php83 ve etkin ayarlar incelendi. memory_limit 128M, upload_max_filesize 2M ve post_max_size 8M değerleri değiştirilmedi. Ayrıntılı hata gösterimi kapalı, hata kaydı açık görünüyordu. Bir site için uygun sınır, uygulamanın ihtiyacına göre belirlenir.
Editor Mode'da tanımadığınız satırları topluca yapıştırmayın. Hata çıkarsa kaydettiğiniz önceki değerleri geri yazın; bütün php.ini, .user.ini veya .htaccess dosyalarını silerek “sıfırlama” yapmayın.
8. Aktarım sıkıştırmasını ayrı kontrol edin
Hesabınızda cPanel → Software → Optimize Website görünüyorsa içerik sıkıştırmasını buradan yönetebilirsiniz. Arayüzün görünmesi, sunucuda gerekli Apache mod_deflate desteğine ve hizmet ayarlarına bağlıdır.
- Mevcut seçimi not edin.
- Metin içeriklerini değerlendirmek için Compress the specified MIME types seçeneğini ve uygulamanızın içerik türlerini inceleyin.
- Uygun planı Update Settings ile kaydedin.
- Tarayıcının Network bölümünde aynı kaynağın yanıt başlıklarını ve aktarılan boyutunu yeniden kontrol edin. CDN kullanıyorsanız sıkıştırmanın hangi katmanda yapıldığını ayırın.
JPEG/PNG gibi zaten sıkıştırılmış görselleri listeye eklemek genel çözüm değildir. PHP, web sunucusu ve CDN tarafında birbirinden bağımsız sıkıştırma ayarlarını rastgele açmayın; gerçek yanıtın doğru çıktığını doğrulayın.
Aynı yanıt üzerinde yapılan sıkıştırma kontrolü
Gerçek müşteri ekranında başlangıç seçimi Disabled idi.
Optimize Website başlangıçta Disabled durumundaydı.


1. adım: Hangi katmanın değiştiğini okuyun
- Hangi katmanın değiştiğini okuyun
Üst bilgi Apache mod_deflate ayarını açıklar; PHP zlib ayrı yönetilir.
Görmeniz gereken: Aynı işlemi farklı katmanlarda rastgele açmazsınız.
- Başlangıç seçimini kaydedin
Disabled seçili; sonradan karşılaştırmak için bu durumu not edin.
Görmeniz gereken: Önceki ayar ve geri dönüş noktası bellidir.
Bu başlangıç görüntüsüdür; henüz sıkıştırma etkinleştirilmiş değildir.
Compress the specified MIME types seçildi; arayüzün mevcut metin içerik türleri korundu. JPEG/PNG gibi görseller eklenmedi ve PHP'nin zlib ayarı değiştirilmedi.
Belirli MIME türleri seçildi; mevcut metin türleri korundu.


1. adım: Belirli türleri seçin
- Belirli türleri seçin
Compress the specified MIME types seçeneği kullanıldı; JPEG/PNG eklenmedi.
Görmeniz gereken: Hangi içeriklerin sıkıştırılacağı belirlenir.
- Listeyi kontrol edip kaydedin
MIME Types alanını kontrol ederek Update Settings ile uygulayın.
Görmeniz gereken: Başarı sonucu ve gerçek yanıt ayrı kontrol edilir.
MIME alanı tek satır olduğundan metnin tamamı bu görüntüde görünmez; kaydedilmiş sonraki ekran tüm etkin listeyi gösterir.
Update Settings sonrasında, sıkıştırmanın belirtilen MIME türleri için etkinleştiği onayı alındı.
cPanel seçilen türler için sıkıştırmanın etkinleştiğini bildirdi.


1. adım: Kaydetme sonucunu okuyun
- Kaydetme sonucunu okuyun
Content compression is now enabled mesajı görünür.
Görmeniz gereken: Arayüzün ayarı kabul ettiği doğrulanır.
- Etkin listeyi ve yanıtı karşılaştırın
Alt satır hangi MIME türlerinin etkin olduğunu gösterir; gzip başlığını gerçek istekte kontrol edin.
Görmeniz gereken: Arayüz onayı ile aktarım sonucu birlikte doğrulanır.
Aynı 200 yanıtında gövde 1172→670 bayt oldu; açılmış içerik aynı kaldı. TTFB veya sayfa yükleme hızlanması ölçülmedi.
Aynı demo sayfasının HTTP yanıtı, gzip destekleyen istekle önce ve sonra karşılaştırıldı:
| Ölçüm | Önce | Sonra |
|---|---|---|
| HTTP durumu | 200 | 200 |
| Content-Encoding | Yok | gzip |
| Ağdan alınan yanıt gövdesi | 1172 bayt | 670 bayt |
| Açılmış gövdenin boyutu | 1172 bayt | 1172 bayt |
| Açılmış içeriğin SHA-256 kontrolü | Aynı | Aynı |
Bu ölçüm yalnız bu yanıtın gövde boyutunu karşılaştırır; HTTP başlıkları ve bağlantı maliyeti bu sayılara dahil değildir. İçerik değişmeden daha küçük gövde aktarımı doğrulandı. Sayfa yükleme süresi, TTFB veya bütün site için hızlanma yüzdesi ölçülmedi.
9. Sonucu doğrulayın ve gerekirse geri dönün
Her değişiklikten sonra başlangıçta sorun gördüğünüz aynı işlemi tekrar edin. Önbelleğin ilk isteği ile sonraki istekler farklı olabilir; ölçümleri aynı koşullarda karşılaştırın.
| Kontrol | Kaydedilecek bilgi |
|---|---|
| Sayfa/işlem | Aynı adres ve aynı kullanıcı adımı |
| Zaman ve ortam | Tarih, saat, bağlantı, cache durumu ve yapılan tek değişiklik |
| Doğruluk | Sayfa, yönetici girişi, kontrollü içerik kaydı ve gerekli uygulama işlemleri |
| Kaynak ve hata | İlgili süreç/servis durumu ve yeni hata satırları |
| Karar | Değişikliği koruma, önceki değere dönme veya daha fazla inceleme |
cPanel → Metrics → Errors, en yeni 300 web sunucusu hata kaydını gösterir. Her PHP hatası burada bulunmayabilir. WHM yöneticisi, alan adının PHP-FPM Settings → Error log ayarından gerçek log konumunu kontrol etmelidir. cPanel'in kendi yönetim servisinin logunu sitenin PHP loguyla karıştırmayın.
Bu performans çalışmasında kaydedilen sonuçlar: tek alan adında PHP 8.3 seçimi, web isteğinde PHP-FPM ve OPcache doğrulaması, başarılı veritabanı okuması ve aynı içerik için gzip gövde boyutu karşılaştırmasıdır. Yoğun trafik kapasitesi veya WordPress alışveriş işlemi test edilmedi. Normal DNS ve HTTPS erişimi, ayrı son kontrolde doğrulandı; bu sonuç hızlanma ölçümü değildir.
Sonuç kötüleştiyse önce değiştirdiğiniz değeri kayıtlı önceki durumuna alın. Sonra aynı testi tekrarlayın. EasyApache paket değişikliği gibi daha geniş işlemler için yalnız bir PHP kutucuğunu geri almak yeterli olmayabilir; hazırlanmış geri dönüş planını uygulayın.
Başarılı sonuç: Site ve temel işlemleri çalışır; yeni hata oluşmaz ve hedeflediğiniz sorunda ölçülebilir iyileşme görülür. Boş bir demo sitenin açılması, aynı sunucunun yoğun bir mağazayı hangi kapasitede çalıştıracağını göstermez.
Sık sorulan sorular
PHP-FPM için Max Children değerini kaça çıkarmalıyım?
Önce sorunun süreç beklemesi olup olmadığını ve yük altındaki gerçek bellek kullanımını ölçün. RAM, veritabanı ve diğer hesapların payını bilmeden sabit sayı seçmeyin. Daha fazla süreç açmak bellek baskısını artırıp yanıtı daha da yavaşlatabilir.
OPcache açık ama WordPress neden hâlâ yavaş?
Yavaş veritabanı sorgusu, dış API yanıtı, ağır eklenti, büyük görsel veya ağ gecikmesi OPcache ile çözülmeyebilir. Yavaş işlemi ve zamanını belirleyin; doğru katmanı inceleyin. Yeni WordPress kurulumu için ayrı kurulum rehberini kullanabilirsiniz.
PHP sürümünü yükseltince bütün siteler değişir mi?
Alan adına özel seçimle sistem varsayılanı farklıdır. Inherit kullanan siteler ve ortak document root ilişkileri değişikliğin kapsamını büyütebilir. Uygulamadan önce seçili alan adını ve etkilenen hesapları kontrol edin.
Daha yüksek hosting paketi almam gerekiyor mu?
Ölçüm, uygulamanızın mevcut kaynakları düzenli olarak aştığını gösteriyorsa kapasiteyi değerlendirin. Önce gereksiz iş, hatalı kod veya yanlış ayarı ayırın. Paket yükseltme rehberinde geçiş kapsamını ve gerekli kaynakları planlayabilirsiniz.
İlgili rehberler
- Hosting yönetimi ve cPanel'e giriş
- VPS'e cPanel ve WHM kurulumu
- CPU, RAM ve disk kullanımını inceleme
- Yedekten geri dönüş testi
- SSL ve HTTPS sorunlarını ayırma
- Destek talebine eklenecek bilgiler
Resmi kaynaklar
Kaynaklar 15 Ekim 2026'da kontrol edildi. Menülerin görünümü, sunulan özellikler ve desteklenen sürümler değişebilir.