Hocam siteye giren kişiler sql sorgusuna sebep olmamalı. Üyelikli bir sistemse birşey diyemem varnish cache felan kullanın fakat haber sitesinde sql sorgusuna gerek yok. Yani cache ile mysql bağlantısını kesmelisiniz. Yoksa sunucu o kadar kişinin sql sorgusuna dayanmaz. Kullanıcı başına 5 sql sorgusu olsa 10.000x5=50.000 Sorgu yapar ki buna sunucu dayanmaz.

Yapacağınız basit cache kullanmanız. Ayrıca şuda var cache kullanıyor olabilirsiniz fakat emin olun sql sorgularının tamamını kapsamıyor olabilir. Bende öyle bir sitede var :) cache olduğu halde 2-3 tane sql sorgusu yapıyor. Başka sql sorgusu hiç olmayan wordpress başka bir sitemde ise aşağıdaki 360 kişi anlık sitede bulunmasına rağmen cpu %30i ancak gördü. Ramde 512 mb :D

Anlayacağınız her şey iyi bir optimasyonda bitiyor. SQL SORGUSUNU KESİN.!

Facebook aracılığıyla anlık 360 kişi fotosu :D sunucu digitalocean 512 mblık paket.



Hocam birde htaccess dosyasına şunları ekle istersen:


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.*


## EXPIRES CACHING ##

ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"

## EXPIRES CACHING ##