WordPress kaç kullanıcıyı işleyebilir?


10

WP'de bir üye giriş sitesi tasarlamak istiyorum ama WordPress'in aynı veritabanında 40000'den fazla kullanıcıyı işleyebileceğinden şüphe duyuyorum?

Bundan emin değilim, işimi burada bırakıyorum. Bu yüzden, WP ile projeme devam etmek için bunun hakkında tam olarak bilgi sahibi olan varsa bana yardım edin.

Yanıtlar:



6

Bunu cevaplamak için biraz geç, ancak ilgili arama için geldiğinden beri, bu birileri için yararlı olacaktır:

WordPress, veritabanı uygulamasının bir kısmı için EAV veritabanı şemasını kullanır. Bu hem verileri hem de kullanıcıları etkiler. (Ayrı tablolarda tutulurlar)

Veri açısından açıklamak için:

Wp_posts'ta doğrudan erişilebilir gönderiyle ilgili ayrıntıların yanı sıra, her gönderi için wp_postmeta tablosuna çok sayıda meta yayınlanır. Gönderiyle ilgili veriler (veya özel gönderi türü).

Sorun şu ki, yayınların veya sayfaların HEAPS'leri (veya özel yazı / veri) varsa, metada bulunan herhangi bir özelliği aramak oldukça yavaş olur. Önce meta tablodaki tüm girişlerde ihtiyacınız olan ölçütleri ararsınız, ardından tablodan ilgili yayını alırsınız. Belirtici, HER kriterleri ayrı ayrı aramanız gerektiğidir. Bir etiket araması, 'meta1' için X değerine sahip yayınları alırsınız, sonra ikinci ölçütleri, örneğin customcriteria'yı arar ve customcriteria'da customcriteriavalue1 ile posta kimlikleri alırsınız ve sonra bunların kesişimini alırsınız ve sonra bu kesişme noktasıyla yayınlar tablosundaki yayın ayrıntıları.

Örnek olarak - 30.000 ürünü WooCommerce'a koyun ve aşağıdaki cevapta açıklandığı gibi wp_postmeta'da ~ 1.800.000 satır elde edersiniz:

Meta ve ayrı veritabanı tabloları yayınlama

Bu nedenle, bu sadece aramayı çok verimsiz hale getirmekle kalmaz (özellikle birden fazla kriter için wp_postmeta'da kendi kendine birleşmeler yaptığınızda), aynı zamanda 1,8 mil satırlarından tek bir satırı sorgulamak bile bir performans vuruşuna neden olur.

EAV şeması eksikliği.

Çok sayıda yazı ile, WordPress db uygulaması karmaşık aramaları çok yavaş hale getirir.

Önbellek eklentileri kullanıyorsanız binlerce yayın içeren bir WordPress sitesi çalıştırmak oldukça mümkündür. Daha da ileri gidebilirsiniz. Ancak aramalar bir sorun olacak.

............

Wp_usermeta da aynı EAV formatını kullanıyor. Dolayısıyla, çok sayıda kullanıcı alırsanız ve wp_usermeta'da çeşitli kullanıcı verilerini depolayan çok sayıda eklentiniz varsa, aynı performans isabetini alırsınız.

Pek çok kullanıcıyla bahsetmemek için zaten çok sayıda gönderiye sahip olmanız muhtemeldir - uygulamanız çoğunlukla kullanıcılarla (CRM vb.) İlgili bir şey olmadığı sürece ve kullanıcı verilerinizi wp_postmeta yerine wp_usermeta'da saklamayı seçmezseniz . (Olması muhtemel değil).

.........

Meta Accelerator gibi bu sorunu çözmeye çalışan bazı eklentiler var.

https://wordpress.org/plugins/meta-accelerator/

Bu eklenti, seçtiğiniz herhangi bir yazı türü için herhangi bir veri alır ve bunları düz tablolara yerleştirir. Bu, çok fazla aramayı hızlandırır ve herhangi bir tekil değeri sorgulamayı da hızlandırır.

Ancak bu eklenti henüz bebeklik döneminde.

Alternatif olarak, Esnek Arama'yı sunucuya yükleyebilir ve bu aramaları hızlandırmak için ElastikPress eklentisini veya WordPress ile entegre eden başka bir eklentiyi kullanabilirsiniz.


5

Bence daha da fazla kullanıcı çalıştırabilirsiniz. Sizi sınırlandırabilecek tek şey sunucunuz. Özellikle MySQL sunucusu olmak üzere doğru şekilde ölçeklendirmeniz gerekir. Örneğin wordpress.com40000'den fazla kullanıcıyla çalışır, ancak stabilite, ton yük dengeleyici vb. İçin ekstra güçlü sistemler kullanırlar.


4

Soru, WP bu 2 temel teknolojide geliştirildiği için kaç kullanıcının WordPress yerine php-mysql yığın tutamacı yapabileceği olmalıdır.

Sunucuyu gelişmiş sunucu teknikleriyle yapılandırabiliyorsanız, WP'yi iyi yönetilen bir sunucuda, optimize edilmiş veritabanı yükü ve sorgularında barındırırsanız, WP'nin istediğiniz kadar üye işleyebileceği söylenir.

Paylaşılan bir hosting'e wordpress yüklerseniz, WP yeteneğinizi sınırlandırıyorsunuz demektir. Öte yandan, WP'yi bulut tabanlı veya adanmış bir barındırma sunucusundan yönetiyorsanız, istediğiniz sonucu elde etmelisiniz.

Wordpress karmaşık veritabanı ocaklarını idare edebilir. Bu https://codex.wordpress.org/Installing_WordPress adresini kontrol edebilirsiniz.

Ayrıca wordpess'i gelişmiş bir uygulama geliştirme çerçevesi olarak kullanmak, u yükleme işleminin büyük / karmaşık veritabanı yükünü işlemesini sağlar.

bu diziyi de chk yapabilirsiniz: http://code.tutsplus.com/articles/using-wordpress-for-web-application-development-wp_user_query--wp-35015

Umarım bu yardımcı olur. Teşekkürler


Kayıt için, PHPyığının kısmı sizin sorununuz olmayacak (Facebook değiştirilmiş bir PHP ile oluşturulmuştur), ancak MySQLçok iyi sınırlayıcı olabilir.
Dan

4

Kaç tane Wordpress kullanıcısı olabileceğini öğrenmek için şişe boynunu buldum, PHP yönetici zaman aşımı kullanıcıların yönetici sayfasında oyuna geliyor.

Tüm kullanıcılarınızın en az 1 rolü olduğu varsayılarak wp_capabilities, user_metadatatabloda serileştirilmiş bir dizi rol içeren bir girişleri vardır .

Yönetici sayfası, her bir rol türüne sahip kaç kullanıcının olduğunu gösterir, bu nedenle her bir wp_capability serileştirilmiş dizisini yüklemek, serisini kaldırmak ve daha sonra toplam bir sayı göstermek zorundadır.

300.000 kullanıcım olduğunda, kullanıcıların yönetici sayfasının oluşturulması 44 saniye sürer.

Bu, her kullanıcının sayfa yükleme süresine 0.00014666666 saniye eklediği anlamına gelir.

PHP zaman aşımınızın 60 saniye olduğunu varsayarsak, bu sınır yaklaşık 400.000 kullanıcı için geçerlidir.

Ancak oldukça eski ve yavaş bir sunucu çalıştırıyorum. Daha hızlı donanım işleri büyük ölçüde geliştirir.


Etkinin doğrusal olduğunu düşünmüyorum ama bunun özüne katılıyorum, sayı değil, aslında bilgiyi ne için kullandığınız ve nereye / ne zaman eriştiğiniz
Mark Kaplun
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.