
VDS Sunucusunda PHP ve MySQL Performansını İyileştirmek
VDS (Virtual Dedicated Server) sunucusunda PHP ve MySQL performansını iyileştirmek için birkaç adım atılabilir. Aşağıda, PHP ve MySQL performansını artırmak için uygulayabileceğiniz temel yöntemleri bulabilirsiniz:
PHP Performansını İyileştirme:
-
PHP Sürümünü Güncelleyin:
- PHP'nin en son kararlı sürümünü kullanmak, performans iyileştirmeleri sağlar. PHP 7 ve üzeri sürümler, daha önceki sürümlere göre önemli performans artışları sunar.
-
OPcache Kullanımı:
- PHP'nin
OPcache
uzantısı, PHP betiklerini önbelleğe alarak daha hızlı çalışmasını sağlar. OPcache'ı etkinleştirerek her istek için PHP betiklerinin tekrar derlenmesini engelleyebilirsiniz.
OPcache'ı etkinleştirmek için:
sudo apt-get install php-opcache sudo systemctl restart apache2
- PHP'nin
-
PHP-FPM Kullanımı:
- PHP-FPM (FastCGI Process Manager), PHP'nin daha hızlı çalışmasını sağlar. PHP-FPM ile, her istek için yeni bir PHP işlemine gerek kalmaz.
PHP-FPM'i etkinleştirmek için:
sudo apt-get install php-fpm sudo systemctl restart php7.x-fpm
-
Unnecessary Extensions'ı Kaldırın:
- Kullanmadığınız PHP uzantılarını kaldırmak, PHP'nin gereksiz kaynak kullanımını azaltır.
Uzantıları kaldırmak için:
sudo apt-get remove php-<extension_name>
-
Veritabanı İlişkilerini ve Sorguları Optimize Edin:
- Gereksiz PHP veritabanı sorgularından kaçının. Özellikle büyük veritabanı işlemlerini zamanlanmış işler (cron) olarak çalıştırmayı düşünün.
MySQL Performansını İyileştirme:
-
MySQL Sürümünü Güncelleyin:
- MySQL’in en son sürümünü kullanmak, özellikle performans ve güvenlik iyileştirmeleri sağlar.
-
MySQL Konfigürasyonunu Yapılandırın:
- MySQL yapılandırma dosyasını (
my.cnf
) optimize edin. Bellek ve CPU kullanımı üzerinde olumlu etkisi olabilir.
Yapılandırma değişiklikleri için bazı öneriler:
[mysqld] innodb_buffer_pool_size = 1G # Bellek boyutunu artırın (sunucu RAM'inin %70'i) query_cache_size = 64M # Sorgu önbelleğini artırın max_connections = 200 # Maksimum bağlantı sayısını artırın innodb_flush_log_at_trx_commit = 2 # Performansı artırmak için
- MySQL yapılandırma dosyasını (
-
Veritabanı İndeksleme:
- Sorgu hızını artırmak için doğru alanlarda indeksler kullanın. Ancak, gereksiz indeksler de performansı olumsuz etkileyebilir.
-
Sorgu Optimizasyonu:
- Sorgularınızı optimize edin. Karmaşık ve yavaş sorguları tespit edip, daha verimli alternatifler kullanarak performans artışı sağlayabilirsiniz.
EXPLAIN
komutunu kullanarak sorgu planlarını analiz edebilirsiniz.
- Sorgularınızı optimize edin. Karmaşık ve yavaş sorguları tespit edip, daha verimli alternatifler kullanarak performans artışı sağlayabilirsiniz.
-
MySQL Query Cache Kullanımı:
- Query Cache, aynı sorguları tekrar çalıştırdığınızda hız sağlar. Özellikle sıkça yapılan sorgular için faydalı olabilir.
Query Cache'ı etkinleştirmek için:
query_cache_type = 1 query_cache_size = 64M
-
İleri Düzey Optimizasyonlar:
- InnoDB motorunun ayarlarını optimize edin.
- Slow Query Log'u etkinleştirerek yavaş sorguları tespit edin.
Slow Query Log'u etkinleştirmek için:
slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow-query.log long_query_time = 2 # 2 saniyeden uzun süren sorgular kaydedilir
Genel Sunucu Performansı:
-
Sunucu Kaynaklarını İzleyin:
- CPU, bellek ve disk kullanımını izleyin.
htop
,top
,vmstat
gibi araçlar kullanarak sunucunuzdaki kaynak kullanımını kontrol edebilirsiniz.
- CPU, bellek ve disk kullanımını izleyin.
-
CDN (Content Delivery Network) Kullanımı:
- Web siteniz için bir CDN kullanmak, statik içeriklerin hızlı bir şekilde kullanıcılara sunulmasına yardımcı olabilir.
-
Yük Dengeleme:
- Trafiği birden fazla sunucuya dağıtmak için yük dengeleme kullanabilirsiniz.
-
Günlük Temizliği:
- Gereksiz log dosyalarını düzenli olarak temizleyin. Bu, sunucuda boş alan ve performans iyileştirmesi sağlar.
Bu adımlar, PHP ve MySQL performansını önemli ölçüde artırabilir. Ancak, uygulama seviyesinde de özel optimizasyonlar yapmanız gerekebilir. Yine de her değişiklik sonrası testler yaparak, sistemdeki etkilerini gözlemlemeniz önemlidir.