ผู้ใช้สามารถจัดการ WordPress ได้กี่คน?


10

ฉันต้องการออกแบบเว็บไซต์เข้าสู่ระบบสมาชิกใน WP แต่ฉันสงสัยว่า WordPress สามารถรองรับผู้ใช้มากกว่า 40000 คนบนฐานข้อมูลเดียวกันได้หรือไม่?

ฉันไม่แน่ใจเกี่ยวกับเรื่องนี้ดังนั้นฉันจึงก้มลงทำงานที่นี่ ดังนั้นโปรดช่วยฉันถ้าใครรู้อย่างแน่นอนเกี่ยวกับเรื่องนี้เพื่อดำเนินโครงการของฉันกับ WP

คำตอบ:



6

ช้าไปหน่อยที่จะตอบคำถามนี้ แต่เนื่องจากจะมีการค้นหาที่เกี่ยวข้องสิ่งนี้จะเป็นประโยชน์สำหรับใครบางคน:

WordPress ใช้สกีมาฐานข้อมูล EAV เพื่อเป็นส่วนหนึ่งของการติดตั้งฐานข้อมูล สิ่งนี้มีผลต่อทั้งข้อมูลและผู้ใช้ (พวกเขาจะถูกเก็บไว้ในตารางที่แยกต่างหาก)

หากต้องการอธิบายจากมุมข้อมูล:

นอกเหนือจากรายละเอียดที่เกี่ยวข้องกับโพสต์ที่สามารถเข้าถึงได้โดยตรงใน wp_posts เมตามากมายจะถูกโพสต์ลงในตาราง wp_postmeta สำหรับแต่ละโพสต์ ข้อมูลใด ๆ ที่เกี่ยวข้องกับโพสต์ (หรือประเภทโพสต์ที่กำหนดเอง)

ปัญหาคือถ้าคุณมี HEAPS ของโพสต์หรือหน้า (หรือโพสต์ / ข้อมูลที่กำหนดเอง) มันจะค่อนข้างช้าในการค้นหาคุณสมบัติใด ๆ ที่พบในเมตา คุณค้นหารายการทั้งหมดในตารางเมตาก่อนเพื่อหาเกณฑ์ที่คุณต้องการจากนั้นรับโพสต์ที่เกี่ยวข้องจากตาราง ผู้เตะคือคุณต้องค้นหาเกณฑ์ของแต่ละรายการแยกจากกัน ดังนั้นหนึ่งค้นหาแท็กคุณจะได้รับโพสต์ด้วยค่า X สำหรับ 'meta1' จากนั้นคุณค้นหาเกณฑ์ที่สองพูดกำหนดเองเกณฑ์และรับรหัสโพสต์ด้วย customcriteriavalue1 ในกำหนดเกณฑ์เองจากนั้นจึงหาจุดตัด รายละเอียดโพสต์จากตารางโพสต์ที่มีสี่แยกนั้น

ตัวอย่าง - นำผลิตภัณฑ์ 30,000 รายการไปไว้ใน WooCommerce และคุณจะจบด้วย ~ 1,800,000 แถวใน wp_postmeta ดังที่อธิบายไว้ในคำตอบด้านล่าง:

โพสต์ meta vs ตารางฐานข้อมูลแยกต่างหาก

ดังนั้นไม่เพียง แต่จะทำให้การค้นหาไม่มีประสิทธิภาพมาก (โดยเฉพาะเมื่อคุณทำการเชื่อมต่อด้วยตนเองบน wp_postmeta สำหรับหลาย ๆ เกณฑ์) แต่ยังทำการค้นหาแถวเดียวจากหมู่ 1,8 ล้านแถวทำให้เกิดประสิทธิภาพในการทำงาน

การขาดสคีมา EAV

ดังนั้นด้วยการโพสต์จำนวนมากการติดตั้ง WordPress db ทำให้การค้นหาที่ซับซ้อนช้ามาก

การใช้งานเว็บไซต์ WordPress ที่มีโพสต์หลายพันโพสต์นั้นทำได้ค่อนข้างดีถ้าคุณใช้แคชสำหรับปลั๊กอิน คุณสามารถไปได้มากขึ้น แต่การค้นหาจะเป็นปัญหา

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

มันเหมือนกันกับผู้ใช้ด้วย - wp_usermeta ใช้รูปแบบ EAV เดียวกันเช่นกัน ดังนั้นหากคุณได้รับผู้ใช้จำนวนมากและมีปลั๊กอินจำนวนมากที่เก็บข้อมูลผู้ใช้ที่หลากหลายใน wp_usermeta คุณจะได้รับประสิทธิภาพการทำงานที่เหมือนกัน

ไม่ต้องพูดถึงกับผู้ใช้จำนวนมากมีแนวโน้มว่าคุณจะมีโพสต์จำนวนมากอยู่แล้วยกเว้นว่าแอพของคุณเป็นสิ่งที่ต้องทำกับผู้ใช้ส่วนใหญ่ (CRM เป็นต้น) และคุณเลือกที่จะเก็บข้อมูลผู้ใช้ของคุณใน wp_usermeta แทน wp_postmeta . (ไม่น่าคิดว่า)

.........

มีปลั๊กอินบางตัวที่พยายามแก้ไขปัญหานี้เช่น Meta Accelerator

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

ปลั๊กอินนี้ใช้ข้อมูลใด ๆ สำหรับโพสต์ประเภทใดก็ตามที่คุณเลือกและวางไว้ในตารางแบน วิธีนี้ช่วยให้ค้นหาได้เร็วขึ้นและยังเพิ่มความเร็วในการสืบค้นค่าเอกพจน์ใด ๆ

แต่ปลั๊กอินนั้นยังอยู่ในช่วงเริ่มต้น

หรือคุณสามารถติดตั้ง ElasticSearch ในเซิร์ฟเวอร์และใช้ปลั๊กอิน ElasticPress หรือปลั๊กอินอื่นที่รวมเข้ากับ WordPress เพื่อเร่งการค้นหาดังกล่าว


5

ฉันคิดว่าคุณสามารถเรียกใช้ผู้ใช้มากขึ้น สิ่งเดียวที่สามารถ จำกัด คุณได้คือเซิร์ฟเวอร์ของคุณ คุณจะต้องปรับขนาดให้เหมาะสมโดยเฉพาะเซิร์ฟเวอร์ MySQL ยกตัวอย่างเช่นwordpress.comมีผู้ใช้มากกว่า 40000 คน แต่พวกเขาใช้ระบบที่ทรงพลังเป็นพิเศษเพื่อความมั่นคงโหลดบาลานเซอร์จำนวนมากและอื่น ๆ


4

คำถามควรเป็นจำนวนผู้ใช้ที่สามารถจัดการสแต็ก php-mysql แทนที่จะเป็น WordPress เนื่องจาก WP ได้รับการพัฒนาบน 2 เทคโนโลยีหลักเหล่านั้น

มีการกล่าวว่าถ้าคุณสามารถกำหนดค่าเซิร์ฟเวอร์ด้วยเทคนิคเซิร์ฟเวอร์ขั้นสูงโฮสต์ WP ในเซิร์ฟเวอร์ที่มีการจัดการที่ดีโหลดฐานข้อมูลและแบบสอบถามที่เหมาะสม WP จึงสามารถจัดการสมาชิกได้มากเท่าที่คุณต้องการ

หากคุณติดตั้ง wordpress ในโฮสติ้งที่ใช้ร่วมกันแสดงว่าคุณจำกัดความสามารถของ WP ของคุณ ในทางกลับกันถ้าคุณสามารถจัดการตัวคุณเองที่ใช้ WP จากคลาวด์ที่ใช้เซิร์ฟเวอร์โฮสติ้งหรือโดยเฉพาะคุณควรได้ผลลัพธ์ที่ต้องการ

Wordpress สามารถจัดการ quarries ฐานข้อมูลที่ซับซ้อนได้ คุณสามารถตรวจสอบhttps://codex.wordpress.org/Installing_WordPressนี้

นอกจากนี้การใช้ wordpess เป็นกรอบการพัฒนาแอปพลิเคชันขั้นสูงทำให้คุณสามารถติดตั้ง ur เพื่อจัดการโหลดฐานข้อมูลขนาดใหญ่ / ซับซ้อน

คุณสามารถ chk ซีรี่ส์นี้: http://code.tutsplus.com/articles/using-wordpress-for-web-application-development-wp_user_query--wp-35015

หวังว่าจะช่วยได้ ขอบคุณ


สำหรับเร็กคอร์ดPHPส่วนของสแต็กจะไม่เป็นปัญหาของคุณ (Facebook ถูกสร้างด้วย PHP ที่แก้ไข) แต่MySQLอาจมีข้อ จำกัด
ด่าน

4

ฉันพบคอขวดสำหรับจำนวนผู้ใช้ Wordpress ที่คุณสามารถมีได้คือการหมดเวลาของ PHP ที่จะเกิดขึ้นในหน้าผู้ดูแลระบบของผู้ใช้

สมมติว่าผู้ใช้ทั้งหมดของคุณมีอย่างน้อย 1 บทบาทที่พวกเขามีwp_capabilitiesรายการในuser_metadataตารางที่มีอาร์เรย์ของบทบาทที่เป็นอนุกรม

หน้าผู้ดูแลระบบแสดงจำนวนผู้ใช้ที่มีบทบาทแต่ละประเภทที่มีอยู่ดังนั้นจึงต้องโหลดอาเรย์อนุกรม wp_capabilities ทุกชุดที่ไม่ได้เรียงลำดับแล้ว unserialize แล้วแสดงจำนวนทั้งหมด

เมื่อฉันมีผู้ใช้ 300,000 คนหน้าผู้ดูแลระบบของผู้ใช้จะใช้เวลา 44 วินาทีในการสร้าง

ซึ่งหมายความว่าผู้ใช้แต่ละคนเพิ่ม 0.00014666666 วินาทีในการโหลดหน้าเว็บ

สมมติว่าหมดเวลา PHP ของคุณคือ 60 วินาทีซึ่งจะทำให้ผู้ใช้ประมาณ 400,000 คน จำกัด

อย่างไรก็ตามฉันใช้เซิร์ฟเวอร์ที่ค่อนข้างเก่าและช้า ฮาร์ดแวร์ที่เร็วขึ้นจะปรับปรุงสิ่งต่าง ๆ อย่างมาก


ฉันไม่คิดว่าผลกระทบจะเป็นแบบเชิงเส้น แต่ฉันเห็นด้วยกับส่วนสำคัญของมันไม่ใช่จำนวนมาก แต่สิ่งที่คุณใช้ข้อมูลจริงและที่ / เมื่อคุณเข้าถึงมัน
Mark Kaplun
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.