it-swarm-tr.com

Veritabanı okuma yazma bölme ile Joomla ölçeklendirme

Kuzey Amerika'da (Amazon RDS kullanarak) bir mysql sunucusu ve bir okuma kopyası var. Ayrıca yeni bir bölge olan Avustralya için okuma kopyası var.

Avustralya sunucusu, Joomla'nın N.America'daki ana DB sunucusunu okumasının dinamik yapısı nedeniyle vahşice yavaştır. Bu okuma/yazma bölmek için mysql proxy kullanmaya çalıştım ama bu uzun vadeli bir çözüm değil. Mysql proxy etkili bir şekilde ölü gibi görünüyor.

Başka hangi seçeneklerim var?

9
Tom

PHP] terbiyeli yeni bir sürümünü kullanıyorsanız muhtemelen php mysqlnd sürücüsü kullanıyorsunuz. http://us3.php.net/manual/en/book.mysqlnd. pHP

Mysqlnd'nin özel bir eklenti API'sı vardır ve aynı şekilde çalışabilir mysql proxy'dir - örneğin http://pecl.php.net/package/mysqlnd_ms , okuma ve yazma yapan ve okuyan bir eklentidir. son resmi sürüm 9/2013

Unutmayın, Joomla her zaman oturum tablosuna yazar. Memcache veya apc kullanmak oturum verilerini yalnızca önbellekte saklar - oturum meta verilerini saklamaz.

Aynı performans artışını #_sessions tablonuzu bırakarak innodb veya myisam yerine Memory data engine kullanarak yeniden oluşturabilirsiniz.

2
garyamort

Joomla (ve diğer benzer CMS'ler), ortak barındırma düşünülerek bir LAMP mimarisi için geliştirilmiştir. Örneğin. Web sunucusu ve Veritabanı arasında düşük gecikme süresi.

Amazon RDS, buluttaki ilişkisel bir veritabanını ölçeklendirmek için tasarlanmıştır. Dolayısıyla, bölgesel dağılım ve artıklık önemli olduğundan, daha yüksek lansmanlar beklenmektedir.

Amazon RDS için özel gereksinimleriniz varsa, şunları yapılandırabilirsiniz:

  • Site genel yönetimi için yerel bir MySQL ile Joomla (statik varlıklar, çoğaltılması kolay)
  • Amazon RDS bağlantısı, geliştirmeniz için uygulamaya özel bir bağlantı

Düşük gecikme süresi göz önünde bulundurularak geliştirilen üçüncü taraf uzantıları Amazon RDS ile çalışmayacaktır.

2
Anibal

Joomla tarafından oluşturulan her sayfanın oturum tablosuna yazması gerekir.

Bu yüzden oturum yönetimi için memcache veya apc kullanmanızı öneririm. Bu veritabanına sıfır yazma elde etmenize yardımcı olacaktır, bu nedenle okuma çoğaltma sayfaların çoğu için yeterli olacaktır.

1
Shyam

Başka bir hız iyileştirme seçeneği, Nginx'i önüne bir ters proxy olarak koymak olacaktır. Ortak sayfalar joomla ve mysql'ye asla gitmeyeceği için bu, veritabanı erişimini çok azaltacaktır Proxy yapılandırmasını bulamıyorum ancak bunlar temel kurulum

http://docs.joomla.org/Nginx

http://www.nginxtips.com/nginx-joomla-friendly-url/

https://stackoverflow.com/questions/23960359/how-to-get-nginx-proxy-caching-to-work-with-dynamic-content

https://stackoverflow.com/a/2655023/6096

0
tristanbailey