אני בוחן מקרה שימוש חלופי עבור תוסף ה-Discourse Chat ויש לי כמה שאלות לגבי מגבלות הביצועים שלו, במיוחד בנוגע לשמירת נתונים ושימוש כבד ב-API.
כדי לספק קצת הקשר, אנו מחפשים מערכת תגובות בשרשור. תכונת “תגובות בשרשור” בתוך תוסף הצ’אט מספקת חווית משתמש הרבה יותר קרובה לצרכים שלנו מאשר מבנה הנושא/פוסט הסטנדרטי. מסיבה זו, אנו שוקלים להשתמש בערוצי צ’אט כשרשורי תגובות מתמשכים.
בגלל מקרה השימוש הזה, נצטרך לשמור את היסטוריית הצ’אט ללא הגבלת זמן. זה מוביל לדאגה העיקרית שלנו: ביצועים בקנה מידה גדול מאוד.
השימוש החזוי שלנו גבוה:
סה"כ הודעות: איפשהו בין 1 ל-10 מיליון הודעות.
ערוצים: כ-150 עד 200 ערוצים.
השאלות העיקריות שלנו הן:
האם ניתן להשבית לחלוטין את שמירת הצ’אט או להגדיל אותה כדי לתמוך במספר ההודעות המוזכר? לדוגמה, על ידי הגדרת תקופת השמירה ל-0 או למספר גדול מאוד.
כיצד ישפיעו ביצועי ה-API? אנו מתכננים להשתמש רבות ב-APIs של תוסף הצ’אט כדי להשתלב עם המערכת החיצונית שלנו. דפוס הגישה העיקרי שלנו יהיה אחזור הודעות בסדר כרונולוגי (מהחדש לישן) הן עבור ערוצים ראשיים והן עבור שרשורים. האם סוג כזה של סקר API תכוף בערוצים עם היסטוריות עצומות ייצור עומס שרת משמעותי?
מה תהיה ההשפעה הכללית על ביצועי השרת והמסד נתונים של אחסון מיליוני הודעות צ’אט לצמיתות? באופן ספציפי, כיצד זה ישפיע על:
שימוש במעבד (CPU) ובזיכרון RAM של השרת?
תגובתיות כללית של האתר?
האם ישנם “נקודות שבירה” ידועות או מגבלות רכות שבהן ביצועי המערכת מתחילים להתדרדר באופן משמעותי תחת עומס מסוג זה?
אנו מבינים שזהו שימוש לא קונבנציונלי בתוסף הצ’אט וש השבתת שמירה אינה פרקטיקה מומלצת. מטרתנו היא לקבוע את מגבלות הארכיטקטורה של המערכת - הן בממשק המשתמש והן דרך ה-API - לפני שנתחייב לגישה זו.
כל תובנות מהצוות או מחברי הקהילה שהריצו צ’אט בקנה מידה גדול יהיו בעלות ערך רב ביותר.
היי @Nima1, אני יכול להתחיל לענות על חלק מהשאלות האלה:
האם ניתן להשבית לחלוטין את שמירת הצ’אט או להגדיל אותה כדי לתמוך במספר ההודעות המוזכר? לדוגמה, על ידי הגדרת תקופת השמירה ל-0 או למספר גדול מאוד.
כן, זה אפשרי. ניתן להגדיר את chat channel retention days ל-“0” כדי לשמור הודעות לנצח - אך בהתחשב בהיקף מה שאתה עושה, אתה צודק לתהות לגבי השפעות ביצועים. אציין גם כי כרגע איננו תומכים בחיפוש הודעות צ’אט (זה על הפרק אך לא מתוכנן כרגע). המשמעות היא שאפילו אם אתה שומר הודעות לנצח, בהתחשב בשימוש הגבוה שלך בפרויקט, ייתכן שלא יהיה מעשי עבור חברים למצוא הודעות ספציפיות.
כיצד ישפיעו ביצועי ה-API?
מה תהיה ההשפעה הכללית על הביצועים
איני בטוח לגבי התשובות לשאלות אלו, אתן לי לבדוק עם כמה מהמהנדסים שעבדו הכי הרבה על הצ’אט כדי לראות מה דעתם.
אשמח גם ללמוד עוד על מקרה השימוש שלך - האם תהיה מוכן לשתף קצת יותר פרטים לגבי מה שאתה שואף אליו?
תודה על התגובה ועל הבדיקה עם צוות ההנדסה. אשמח לשתף עוד על מקרה השימוש שלנו.
אנו בונים קהילה לחובבי מטבעות קריפטוגרפיים. עבור כל נכס קריפטוגרפי מרכזי, אנו רוצים ליצור ערוץ ייעודי ומתמשך לדיון בזמן אמת.
גילינו שמודל הנושא/פוסט הסטנדרטי אינו אידיאלי לכך מכיוון:
קצב ופורמט: השיחות מהירות ומורכבות מהודעות קצרות, עדכונים ותגובות, מה שמתאים באופן טבעי לפורמט הצ’אט.
זרימת מידע: המשתמשים שלנו צריכים לראות תחילה את ההודעות החדשות ביותר ולגלול למעלה להיסטוריה עדכנית, שזהו ההתנהגות ברירת המחדל בצ’אט. לעומת זאת, נושאים מיועדים לקריאה כרונולוגית מהישן לחדש.
התוסף צ’אט, עם תגובות השרשור והתצוגה הכרונולוגית ההפוכה שלו, מתאים באופן מושלם לחוויית המשתמש שאנו רוצים ליצור.
האתגר העיקרי שלנו הוא קנה המידה. מכיוון שיהיה לנו ערוץ לכל נכס, אנו צופים שנצטרך מאות ערוצים, כאשר כל אחד מהם עשוי להכיל היסטוריה ארוכה מאוד. זו הסיבה שאנו כה מתעניינים במגבלות הביצועים.
אנו מחויבים להשתמש ב-Discourse בזכות תכונות המיתון, ניהול המשתמשים והגיימיפיקציה החזקות שלו, שהן קריטיות לבניית קהילה בריאה.
תודה ששיתפת יותר לגבי מה שאתה מקווה לעשות, @Nima1!
לאחר שיחה עם הצוות שלנו, אני חושש שאיננו יכולים לדבר בוודאות כיצד הביצועים יושפעו מנפח הודעות זה — אין לנו הרבה אנשים שמשתמשים בצ’אט כרגע בקנה מידה כזה והיכן שתבחר לארח את האתר שלך תהיה השפעה גדולה.