Drupal 7'yi çalıştırmak için 4g belleğe sahip bir sunucu nasıl yapılandırılır


9

Drupal 7'yi 4 GB belleğe sahip yeni bir sunucuya yüklüyorum. Düzgün nasıl yapılandırılacağı, MySQL'e ne kadar bellek verileceği ve PHP'ye ne kadar bellek verileceği hakkında bazı ipuçları almak istiyorum. Bulduğum bir şey, Drupal 7'yi Zend sunucusunda çalıştırmanın normal bir Apache sunucusunda çalıştırmaktan üç kat daha hızlı olmasıdır. (Sanırım opcode önbellekleme ile ilgili. Devel modülü ile hafızanın üçte birini kullandığını fark ettim.

Konfigürasyonlarınızı benimle paylaşabilir misiniz?

Yanıtlar:


5

Zaten Drupal7 Verisine sahipseniz, bunu bir hazırlama ortamına yüklemeli ve sahip olduğunuz veri miktarına bağlı olarak bazı tampon boyutlandırmaları gerçekleştirmelisiniz.

Adım 1) Önce veri kümeniz için arabellek boyutlarını hesaplamanız gerekir .

Adım 2) Önerilen boyutlar takılı RAM'inizin% 75'ini (3GB durumunda) aşarsa, 3GB'da gereken arabellekleri kapatın.

Adım 3) InnoDB verileriniz varsa ve innodb_file_per_table özelliğini etkinleştirmediyseniz, her bir tabloyu kendi fiziksel tablo alanına bölerek InnoDB'yi temizlemeniz gerekir (bunun yalnızca bir kez yapılması gerekir) .

Bunu yaptıktan sonra, uygun MySQL önbelleğine sahip olduğunuzdan emin olmak için bu yapılandırma denetimini (Adım 1 ve 2) 6 ayda bir gerçekleştirmeyi planlamalısınız.

İlginçtir, buna benzer bir soruyu ele aldım ve 15 Nisan 2011'de cevapladım .


4

Bakılacak bazı şeyler :

Okunacak bir makale :

Rackspace's: Drupal'ı bulutta nginx ve boost ile dağıtmak size birçok fikir vermeli.

Opcode önbelleklemesinde küçük teklif:

APC'yi opcode önbellek olarak kullanıyoruz. Bu, sunucunun her sayfa yüklemesinde PHP kodunu yeniden derlemesini önler. Dahası, her şey RAM'e kolayca sığar (tipik olarak APC 128MB RAM veririz). Bu, CPU kullanımını önemli ölçüde azaltır. Giriş yapmış kullanıcılar artık siteye daha hızlı göz atabilirler. Ancak yine de sınırlı sayıda bunlarla başa çıkabiliriz. Biraz daha iyisini yapabiliriz. Önbelleğe her gittiğimizde MySQL'i sorgulamak yerine, bu tabloları bellekte saklayabiliriz. Burada memcached ve cacherouter modülü geliyor.


2

Mysql dizininden my_huge conf ile başladım; Ayrıca karışıma Vernik önbellek ekledim. Zaten öğrendiğiniz gibi, Zend performans lotlarını geliştirir.

Birkaç gün boyunca çalıştıktan sonra, mysqltuner komut dosyasını çalıştırdım ve özellikle geçici tablo önbelleği ile ilgili bazı önerilerde bulundum.


1

Sitenin büyüklüğüne bağlı olarak memcached'a da bakmak isteyebilirsiniz. Bu, mysql içeren kaynaklar için rekabet eder, ancak üzerindeki yükü azaltabilir.


Aslında, memcached yeterince büyükse, hem InnoDB Buffer Pool'u hem de MyISAM Key Cache'i ölçeklendirebilirsiniz. Bu şekilde memcached, mysql ile rekabet etmez, ancak mysql, memcached'i ana veritabanı yerine bir veri kanalı olarak tamamlar. Önce memcached önermek için +1 !!!
RolandoMySQLDBA
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.