MySQL Tuning Veritabanı Optimizasyonu ile Sunucu Performansınızı Yükseltin!

MySQL Tuning database/veritabanı optimizasyonu ile sunucu performansınızı yükseltebilirsiniz. Bunun için yapmanız gereken en pratik yol Mysql Tuning yazılımının kurulumu ve çalıştırılması neticesinde size belirttiği ayarları my.cnf üzerinden güncellemektir.

MySQL Tuning Script‘i ile veritabanı performansınızı detaylı olarak inceleyebilir, rahatlıkla sunucu performansınızı arttırabilirsiniz.

Script Adı: tuning-primer.sh

Kaynak:  http://day32.com/MySQL/

Direkt link: http://day32.com/MySQL/tuning-primer.sh

MySQL Tuning – tuning-primer.sh Nasıl Kurulur? //How to Install MySQL Tuning?

tuning-primer.sh için adım adım SSH Kodları:

# wget http://day32.com/MySQL/tuning-primer.sh
Script indirildi
# chmod u+x tuning-primer.sh
İzinler verildi
# ./tuning-primer.sh
Çalıştırıldı

 

Önemli Not: Scripti çalıştırmadan önce MySQL servisinin minimum son iki gündür aktif olması gerekmektedir. Aksi takdirde izlemeler kısa süreli olduğunda verilen yanıtlar tutarsız olabilir. Örneğin çarşamba günleri sitenize ziyaretçi az geldiğinde bağlantı limiti doğru olmayacaktır.

Ekran çıktısı 3 renkten oluşacaktır. RedGreenBlue Yani kırmızı, yeşil ve mavi. Tahmin ettiğiniz üzere:

  • Kırmızılar, önemli ikaz, kesinlikle düzeltmeniz gerekenler ayarlardır.
  • Sarılar, uyarılar iyileştirmeniz gereken orta düzey puan aldığınız ayarlar ve
  • Yeşiller, ise doğru yaptığınız ve tam puan aldığınız uyarılardır.
Kırmızılar için bir örnek vermek gerekirse:
You are using less than 10% of your configured max_connections.
Lowering max_connections could help to avoid an over-allocation of memory
See “MEMORY USAGE” section to make sure you are not over-allocating

MySQL OPTİMİZASYON

  1. /etc/my.cnf <- dosyasını açın
  2. max_connections yani maksimum bağlantı sayısının değerini düşürün eğer böyle bir parametre yoksa siz yazabilirsiniz örn:
    max_connections = 13
  3. ssh üzerinden aşağıdaki komutu kullanarak MySQL servisini yeniden başlatın ve hepsi bu kadar!
    # service mysqld restart
# ./tuning-primer.sh

Örnek ekran çıktısındaki başlıklar şu şekildedir

SLOW QUERIES

WORKER THREADS

MAX CONNECTIONS

MEMORY USAGE

KEY BUFFER

QUERY CACHE

SORT OPERATIONS

JOINS

OPEN FILES LIMIT

TABLE CACHE

TABLE SCANS

Gzip/Deflate Sıkıştırma Kullanımı NGINX & APACHE Web Server .htaccess

Sunuculardaki performansın öneminden söz etmeye hiç gerek yok artık hepimiz bunun bilincindeyiz.

Linux sunucularda Apache ve Nginx uzun süredir epeyce popüler durumda yakın gelecekte bu durum değişecek gibi görünse de şimdilik durum bundan ibaret.
Bu arada merak edenler olabilir ben yönetimini yaptığım tüm sunucularda Nginx kullanmaktayım.

Apache kullanan sunuculardaki Apache Sıkıştırma Modülü mod_deflate iken Nginx kullanan sunuculardaki Nginx sıkıştırma modülü; HttpGzipModule ‘dır ve modüller varsayılan olarak yüklü gelir yapılandırma ayarlarına göre bu durumlar değişiklik gösterse de aktif durumda olmayabilir.

Peki sıkıştırma nasıl etkinleştirilir? ya da biraz daha teknik terimle soruyu yinelemek gerekirse Gzip/Deflate Nasıl Kullanılır?

Gzip Nginx Kullananlar için //For Nginx  Web Server

NGINX SERVER WEB CONFIG

Nginx_How To Enable HttpGzipModule On Nginx To Optimize Page Speed

gzip ‘i etkilentiştirmek için //for active/enabled gzip

1.) /etc/nginx/nginx.conf

gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";

# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;

2.) SSH

# service nginx restart

3.) .htaccess update HttpGzipModule

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Apache kullananlar için; Deflate //FOR APACHE WEB SERVER Deflate

Apache mod_deflate Nasıl Açılır/Aktifleştirilir? // How to enable, Apache mod_deflate

apache_How To Enable mod_deflate On Apache To Optimize Page Speed

1.) /etc/httpd/conf/httpd.conf

LoadModule deflate_module modules/mod_deflate.so

2.) SSH Reset Service

# /etc/init.d/httpd restart
or
# service httpd restart

3.) .htaccess update mod_deflate

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>