Etiketlenenler Listesi

Toplam 3 Sayfadan 1. Sayfa 123 SonuncuSonuncu
Toplam 21 sonuçtan 1 ile 10 arasındakiler gösteriliyor.

Konu: vbSEO icin memcached yerine Xcache kullanın

  1. #1
    iyinet - ait Kullanıcı Resmi (Avatar)
    iyinet isimli üyemiz çevrimdışıdır. (Offline) Paylaşım için teşekkürler
    Üyelik Tarihi
    Sep 2002
    Mesajlar
    5,226
    Tecrübe Puanı
    15

    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.
    Konu iyinet tarafından (24-01-2008 Saat 22:17 ) değiştirilmiştir.
    Emekli

  2. #2
    Üyelik Tarihi
    Jan 2008
    Mesajlar
    18
    Tecrübe Puanı
    5

    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?

  3. #3
    iyinet - ait Kullanıcı Resmi (Avatar)
    iyinet isimli üyemiz çevrimdışıdır. (Offline) Paylaşım için teşekkürler
    Üyelik Tarihi
    Sep 2002
    Mesajlar
    5,226
    Tecrübe Puanı
    15

    Standart

    Alıntı kralex rumuzlu ü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}'`
    Emekli

  4. #4
    Üyelik Tarihi
    Jan 2008
    Mesajlar
    18
    Tecrübe Puanı
    5

    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

  5. #5
    iyinet - ait Kullanıcı Resmi (Avatar)
    iyinet isimli üyemiz çevrimdışıdır. (Offline) Paylaşım için teşekkürler
    Üyelik Tarihi
    Sep 2002
    Mesajlar
    5,226
    Tecrübe Puanı
    15

    Standart

    Alıntı kralex rumuzlu ü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.
    Emekli

  6. #6
    Üyelik Tarihi
    Oct 2005
    Mesajlar
    2,182
    Tecrübe Puanı
    9

    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?
    htdocs

  7. #7
    iyinet - ait Kullanıcı Resmi (Avatar)
    iyinet isimli üyemiz çevrimdışıdır. (Offline) Paylaşım için teşekkürler
    Üyelik Tarihi
    Sep 2002
    Mesajlar
    5,226
    Tecrübe Puanı
    15

    Standart

    Alıntı atay rumuzlu ü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.
    Emekli

  8. #8
    Üyelik Tarihi
    Oct 2005
    Mesajlar
    2,182
    Tecrübe Puanı
    9

    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
    htdocs

  9. #9
    iyinet - ait Kullanıcı Resmi (Avatar)
    iyinet isimli üyemiz çevrimdışıdır. (Offline) Paylaşım için teşekkürler
    Üyelik Tarihi
    Sep 2002
    Mesajlar
    5,226
    Tecrübe Puanı
    15

    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;

    Konu iyinet tarafından (25-01-2008 Saat 08:10 ) değiştirilmiştir.
    Emekli

  10. #10
    Üyelik Tarihi
    Jan 2008
    Mesajlar
    18
    Tecrübe Puanı
    5

    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


Konu Bilgisi

Users Browsing this Thread

Şu anda 1 üyemiz bu konuya göz atıyor. (0 kayıtlı üye ve 1 misafir.)

Benzer Konular

  1. memcached kurulumu - PHP, VBulletin VBSEO ve MySQL için
    Konuyu Açan: iyinet, Forum: PHP Yararlı Bilgiler.
    Mesaj: 185
    En son: 26-11-2011, 11:15
  2. Mesaj: 8
    En son: 23-06-2010, 00:21
  3. VPS'e cache sistemi kuracağım.. Memcached, XCache ?
    Konuyu Açan: SLiM_BoY, Forum: PHP.
    Mesaj: 2
    En son: 19-02-2010, 21:32
  4. İyi uyku için 18x50x70 ölçüsünde yastık kullanın
    Konuyu Açan: sepulchral, Forum: Güncel Konular - Haberler.
    Mesaj: 2
    En son: 16-10-2009, 18:04
  5. memcached kullanın
    Konuyu Açan: iyinet, Forum: vBulletin.
    Mesaj: 9
    En son: 06-02-2008, 00:15

Yetkileriniz

  • Konu açma yetkiniz yok.
  • Cevap yazma yetkiniz yok.
  • Eklenti yükleme yetkiniz yok.
  • Mesajınızı değiştirme yetkiniz yok.
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250