Webmaster Forumu

Geri git   Webmaster Forumu > Webmaster Genel > Programlama > PHP

PHP PHP & PHP Hızlandırıcılar

Cevapla
 
LinkBack (6) Seçenekler Stil
  5 links from elsewhere to this Post. Click to view. #1 (permalink)   eTicaret 
Alt 2008-01-24, 17:48
iyinet - ait Kullanıcı Resmi (Avatar)
Paylaşım için teşekkürler
 
Üyelik tarihi: Sep 2002
Mesajlar: 6.541
Blog Entries: 2
Tecrübe Puanı: 3
eTicaret: %100/6
iyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of light
Standart vbSEO icin memcached yerine Xcache kullanın

PHP için Cache yöntemlerine merak saldığımdan bu yana pek çok makale ve post okudum.

Özellikle yurt dışında bu konu 2005 itibarı ile oldukça yaygın hale gelmiş.

Çok yoğun bir siteye sahip olup cache sistemi kullanmayan neredeyse yok gibi.

Geçtiğimiz günlerde vBulletin + vbSEO ikilisini hızlandırmak için memcached in nasıl kullanılabileceğini ve kurulumunu anlatmıştım.

Memcached i kurup deneyenler (bende dahil) memnun kalıp herkese memcached kurmalarını tavsiye etmiştik.

Loadlar düşmüş ve sayfa açılımları hızlanmıştı.

Ancak bununla kalmayıp başka neler yapabilirim diye araştırmaya devam ettim.

Araştırmalarım halen devam ediyor ancak hali hazırda edindiğim yeni bilgileri sizinle paylaşmak istedim.

Öncelikle memcached in dağınık yapıda birden fazla dedicated serveri olanlar için daha iyi bir seçim olduğunu öğrendim. İngilizce teminoloji ile memcached distributed environment lar için idealmiş.

Memcached TCP protokolü kullanıyor. Bu sayede diyelim ki 5 serveriniz var ve bunlardan 1 tanesi MySQL için atanmış.

Bu durumda MySQL serveriniza memcached kuruyorsunuz ve tüm MySQL sorgularınızı memcached de cacheliyorsunuz. Diğer 4 webserver MySQL e bağlanmadan önce memcached e bakıyorlar, veri cachelenmş ise hoop cacheden veriyi alıyor ve MySQL i fazla yormuyorlar.

Örneğin bir shopping (alışveriş) kartınız var ve her sayfa açıldığında o sayfanın gösterilmesi için 20 tablonun okunması gerekiyor. Siz ne yapıyorsunuz, 20 tablodan gelen sonucu memcached de 1 saatliğine saklıyorsunuz, 1 saat boyunca gelen istekler MySQL yerine memcached den yani doğrudan bellekten alıyor sonuçları.

İşte memcached in esas kullanım amacı bu, network üzerinde 1 den fazla serveriniz varsa MySQL loadunu düşürmek için mükemmel bir çözüm.

Ancak 1 serveriniz varsa ve bu server üzerinde değişken cachelemesi yapmak istiyorsanız, hız ölçümleri gösteriyor ki memcached en yavaş çözümlerden bir tanesi.

Local, yani sadece 1 server üzerinde caching yapacaksanız: APC, Xcache ve eAccelerator bu işi memcached den çok daha hızlı yapıyor.

Bu zamana kadar bu cacheleri sadece PHP kodunu cachelemek için kullanmıştık, oysa değişken cachelemek için de memcached gibi ekstra bir program kurmadan, hali hazırda kullandığımız PHP cache sistemini kullanabileceğimizi öğrendim.

Ben PHP için hali hazırda Xcache kullanıyordum. Bunun için Xcache i vbSEO ve kendi yazdığım PHP kodlarındaki değişkenleri cachelemek için kullanmaya karar verdim.

Xcache hem memecached den daha hızlı hemde hali hazırda kullandığım caching sistemi olduğu için yeni bir kurulum yapmam gerekmedi.

php.ini içinde aşağıdaki değişiklikleri yapmam yeterli oldu.

Kod:
xcache.var_size=1M
xcache.var_count=1
xcache.var_slots=8K
xcache.var_ttl=7200
xcache.var_maxttl=14400
xcache.var_gc_interval=300
Bunun ardından apache yi restart ettim.

Hemen vbSEO kontrol panel ekranına gidip cache sistemleri bölümünde memcached işaretliydi onun yerine Xcache i seçtim.

vBSEO nun Xcache değişken cache ini kullanıp kullanmadığını görmek için Xcache admin paneline girip bakabilirsiniz. vbseo_storage değişkeninin cachelendiğini göreceksiniz.
__________________
Forum Reklam Site Reklam

Konu iyinet tarafından (2008-01-24 Saat 21:17 ) değiştirilmiştir..
Alıntı ile Cevapla

  #2 (permalink)   eTicaret 
Alt 2008-01-24, 22:06
Junior Member
 
Üyelik tarihi: Jan 2008
Mesajlar: 14
Tecrübe Puanı: 0
eTicaret: %0/0
kralex is an unknown quantity at this point
Standart

peki memcache i serverdan kaldırmak gerek mi yoksa ikisini birden kullanabilirmiyiz.
vbulletin config.php ye ayar yapmıştık ya diğer anlattığın dökümanda onlarda değişiklik yapmamız gerekli mi?
Alıntı ile Cevapla

  #3 (permalink)   eTicaret 
Alt 2008-01-24, 22:17
iyinet - ait Kullanıcı Resmi (Avatar)
Paylaşım için teşekkürler
 
Üyelik tarihi: Sep 2002
Mesajlar: 6.541
Blog Entries: 2
Tecrübe Puanı: 3
eTicaret: %100/6
iyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of light
Standart

Alıntı:
kralex´isimli üyeden Alıntı Mesajı göster
peki memcache i serverdan kaldırmak gerek mi yoksa ikisini birden kullanabilirmiyiz.
vbulletin config.php ye ayar yapmıştık ya diğer anlattığın dökümanda onlarda değişiklik yapmamız gerekli mi?
memcached kurduysanız ve Xcache de kurulu ise Xcache e geçmek için yapılması gerekenler sırası ile şu şekilde:

1. vbSEO panelindeki cache sistemleri bölümünden memcached i değil none (hiçbirini) seçin ve kaydedin. Config dosyasının kayıt edildiğinden emin olun. Kayda açmak için chmod 666 confıg_vbseo.php yapmanız gerekebilir.

2. vbulletin config dosyası (includes/config.php) içine memcached için eklenen kısımları kapatın. Satır önüne // koyarak kapatma işlemini yapmış olursunuz
Kod:
// $config['Datastore']['class'] = 'vB_Datastore_Memcached';
// $config['Misc']['memcacheserver'] = '127.0.0.3';
// $config['Misc']['memcacheport'] = '11211';
3. php.ini dosyasındaki memcache satırlarını kapatın. Satır önüne ; koyarak kapatma işlemini yapmış olursunuz
Kod:
;
; memcache bolumu
;
;extension = "memcache.so"
;memcache.allow_failover = 0
4. Apache yi restart edin (service httpd restart)

5. vbSEO panelindeki cache sistemleri bölümünde Xcache i seçin.

6. memcached prosesini /etc/rc.local içinden kaldırın.

7. Hali hazırda çalışan memcached prosesini kapatın
Kod:
kill `ps -ef|grep memcached|grep -v grep|awk '{print $2}'`
__________________
Forum Reklam Site Reklam
Alıntı ile Cevapla

  #4 (permalink)   eTicaret 
Alt 2008-01-25, 00:10
Junior Member
 
Üyelik tarihi: Jan 2008
Mesajlar: 14
Tecrübe Puanı: 0
eTicaret: %0/0
kralex is an unknown quantity at this point
Standart

valla abi kuramadım xcache i vps kullanıyorum ondan mı acaba diyicem olmadı

İnternet sunucusu =Apache v2.0.61
PHP =5.2.5
Alıntı ile Cevapla

  #5 (permalink)   eTicaret 
Alt 2008-01-25, 03:15
iyinet - ait Kullanıcı Resmi (Avatar)
Paylaşım için teşekkürler
 
Üyelik tarihi: Sep 2002
Mesajlar: 6.541
Blog Entries: 2
Tecrübe Puanı: 3
eTicaret: %100/6
iyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of light
Standart

Alıntı:
kralex´isimli üyeden Alıntı Mesajı göster
valla abi kuramadım xcache i vps kullanıyorum ondan mı acaba diyicem olmadı

İnternet sunucusu =Apache v2.0.61
PHP =5.2.5
Xcache başlığı altına sorununu yaz istersen.
Bir de Xcache Zend le uyumlu değildi sanırım.
__________________
Forum Reklam Site Reklam
Alıntı ile Cevapla

  #6 (permalink)   eTicaret 
Alt 2008-01-25, 03:32
atay - ait Kullanıcı Resmi (Avatar)
riders on the storm
 
Üyelik tarihi: Oct 2005
Mesajlar: 1.972
Tecrübe Puanı: 4
eTicaret: %80/3
atay will become famous soon enoughatay will become famous soon enough
Standart

kendi yazdığımız bir scriptte xcache'i kullanmak için nasıl bir işlem yapmalıyız? örnek bir makale veya örnek kod parçacıkları var mı elinizde?
__________________
webmasterbul.com - sardunya.org
Alıntı ile Cevapla

  #7 (permalink)   eTicaret 
Alt 2008-01-25, 03:44
iyinet - ait Kullanıcı Resmi (Avatar)
Paylaşım için teşekkürler
 
Üyelik tarihi: Sep 2002
Mesajlar: 6.541
Blog Entries: 2
Tecrübe Puanı: 3
eTicaret: %100/6
iyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of light
Standart

Alıntı:
atay´isimli üyeden Alıntı Mesajı göster
kendi yazdığımız bir scriptte xcache'i kullanmak için nasıl bir işlem yapmalıyız? örnek bir makale veya örnek kod parçacıkları var mı elinizde?
atay, şu anda o kod üzerinde çalışıyorum, testler olumlu. Biraz daha deneyip fonksiyonu buraya koyacağım.
__________________
Forum Reklam Site Reklam
Alıntı ile Cevapla

  #8 (permalink)   eTicaret 
Alt 2008-01-25, 03:49
atay - ait Kullanıcı Resmi (Avatar)
riders on the storm
 
Üyelik tarihi: Oct 2005
Mesajlar: 1.972
Tecrübe Puanı: 4
eTicaret: %80/3
atay will become famous soon enoughatay will become famous soon enough
Standart

çok güzel olur. şahsen incelemek isterim, kendi sitemde bazı yerlere basit cacheler yaptıktan sonra inanılmaz farklar oldu. acaba bu tarz sistemleri adapte edince nasıl birşey olur denemek isterim
__________________
webmasterbul.com - sardunya.org
Alıntı ile Cevapla

  1 links from elsewhere to this Post. Click to view. #9 (permalink)   eTicaret 
Alt 2008-01-25, 05:44
iyinet - ait Kullanıcı Resmi (Avatar)
Paylaşım için teşekkürler
 
Üyelik tarihi: Sep 2002
Mesajlar: 6.541
Blog Entries: 2
Tecrübe Puanı: 3
eTicaret: %100/6
iyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of lightiyinet is a glorious beacon of light
Standart

Diyelimki şöyle bir php kodunuz var:
PHP- Kodu:
/**************************************************************************************/
/* http://forum.iyinet.com/php/81349-vbseo-icin-memcached-yerine-xcache-kullanin.html */
/**************************************************************************************/

// Bu kod sorgu ile dönen tüm a ve b değerlerini lıst_a ve list_b arraylerine atıyor.

$list_a $list_b = array();
$query "select a,b from table where c=d";
$result mysql_query($query);
$rows mysql_num_rows($result);
for(
$i=0;($i<$rows);$i++) {
    
$data mysql_fetch_assoc($result);
    
$list_a[] = $data['a'];
    
$list_b[] = $data['b'];

Buda Xcache versiyonu
PHP- Kodu:
/**************************************************************************************/
/* http://forum.iyinet.com/php/81349-vbseo-icin-memcached-yerine-xcache-kullanin.html */
/**************************************************************************************/

// Bu kodda aynı işlemi Xcache kullanarak yapar

$list_a $list_b = array();
$query "select a,b from table where c=d";
$result_set_array xcached_query($query,86400); // 1 gün cache de tut
$rows count($result_set_array);
for(
$i=0;($i<$rows);$i++) {
    
$list_a[] = $result_set_array[$i]['a'];
    
$list_b[] = $result_set_array[$i]['b'];
}

function 
xcached_query($query,$expire) {
    
$data = array();
    
$key md5($query);
    if(
xcache_isset($key)) { // cache de ise al
        
$data unserialize(xcache_get($key));
    } else { 
// cache de değilse mySQL den al
        
$result mysql_query($query);
        
$rows mysql_num_rows($result);
        for(
$i=0;$i<$rows;$i++) {
            
$data[$i] = mysql_fetch_assoc($result);
        }
        
xcache_set($keyserialize($data), $expire);
    }
    return 
$data;

__________________
Forum Reklam Site Reklam

Konu iyinet tarafından (2008-01-25 Saat 07:10 ) değiştirilmiştir..
Alıntı ile Cevapla

  #10 (permalink)   eTicaret 
Alt 2008-01-26, 02:36
Junior Member
 
Üyelik tarihi: Jan 2008
Mesajlar: 14
Tecrübe Puanı: 0
eTicaret: %0/0
kralex is an unknown quantity at this point
Standart

evet adminim zend i php.ini den kaldırdıktan sonra xcache aktif oldu.çok teşekkürler bu diğerinden daha az load ve ram harcıyor galiba öyle gözlemledim
Alıntı ile Cevapla

Cevapla

Seçenekler
Stil


LinkBacks (?)
LinkBack to this Thread: http://forum.iyinet.com/php/81349-vbseo-icin-memcached-yerine-xcache-kullanin.html
Konuyu Başlatan For Type Tarih
Memcached yüklendi ama VBSEO'da Görünmüyor - Google Fan Webmaster Forum This thread Refback 2009-03-05 18:09
Load sorunu yaşayanlar için genel tartışma konusu - vBulletin SEO Forums This thread Refback 2008-12-01 20:23
Xcache Nedir ? Ne Değildir ? - Ceviz Forum Post #0 Refback 2008-10-12 13:53
memcached kurulumu vbseo için - vBulletin SEO Forums This thread Refback 2008-10-09 07:38
Xcache Kurulumu - Php Hızlandırıcı - Page 3 - vBulletin SEO Forums This thread Refback 2008-09-29 11:50
Dedicated server optimizasonuna ihtiyac olanlar - vBulletin SEO Forums This thread Refback 2008-01-25 17:16

Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
memcached kurulumu - PHP, VBulletin VBSEO ve MySQL için iyinet PHP 183 2008-06-22 01:52
memcached kullanın iyinet Vbulletin VbSEO 9 2008-02-05 23:15
Memcached kuranlar için apache mysql ve memcached restart iyinet PHP 4 2008-01-24 03:36
xcache kurulum? ENVER PHP 4 2007-11-30 16:15
XCache kullanan varmı iyinet PHP 9 2007-11-18 05:59


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 01:50 .


Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0