וויסות עומסים של שרתים
-
@חוקר אמר בוויסות עומסים של שרתים:
@dovid
תן לי להבין את ההבדל בין PHP לנוד כאשר יש לך לדוגמא 20 בקשות באותה שניה ממש.בנוד טיפול בבקשות זה כמו לולאת while. הוא גם יכול אלף באותה שניה.
בPHP זה דומה לפתיחת חמש מסמכי WORD במקביל.
אבל עזוב פילוסופיה ורוץ לget started. -
@dovid כל מילה פנינה כרגיל
אולי שווה ל @חוקר להשתמש בבלאנס מוכן במקום השלוחות הרנדומליות.
נראה לי שcloudflare מספק את זה גם בשירות החינמי.
(בכל מקרה זה יפתור לו את הבעייה רק של השליחה אליך מהמרכזייה של ימות. ובלי קשר לsql)לגבי המרכזייה, אני חושב שעדיף לך לעבוד מול אסטריסק מלא. (פשוט תעשה בימות המשיח הפנייה לשלוחת IP ותפנה לשרת שלך)
שם, גם אם תתעקש לעבוד מול PHP, אתה מכוסה לגמרי. כי כל השיחה זה בקשה אחת ארוכה ולא כמה בקשות API כמו בימות המשיח.תנסה לחשוב על שיחה בקו, שמתנהלת כמו קוד שרץ.
אתה מבקש מהלקוח שחייג לכתוב מספר ואח"כ סולמית, מקבל את זה למשתנה, הולך עם המשתנה ובודק בDB משהו, רץ בלופ ומשמיע קבצים, באמצע השמעת הקבצים מזהה שצריך להשמעה הנוכחית לשאול משהו את הלקוח, שואל, התשובה נכנסת למשתנה, וכו' וכו'
וכל זה בקובץ אחד שרץ.
אני חושב שזה עולם אחר לגמרי ממה שאתה מכיר כיום בAPI. (אא"כ כבר כיום אתה עובד כך)וכמובן שגם באסטריסק אתה יכול לעבוד מול nodejs, אבל לא חייב.
-
@magicode אמר בוויסות עומסים של שרתים:
יש עוד דבר.
וזה מגבלות מובנות בלינוקס שאפשר להגדיל אם רוצים.
מה שיכול להפריע פה. זה מגבלת חיבורים פתוחים. ומגבלת כמות תהליכים.
תריץ את זה
ulimit -a
תראה את כל המגבלות.core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 7787
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 7787
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimitedאומר משהו?
-
@dovid @clickone
אסכם את השאלות:
איך שאני עובד היום, שאני עדיין עובד עם ימות המשיח (אין כ"כ זמן לחשוב על אסטריסק לבד), ועדיים עם PHP.- מה ההבדל בבזבוב משאבים בין file_get_contents ל MYSQL. (ועדכון הנתונים מתוך צ'רידי כל דקה ע"י סקריפט נפרד)
- ההבדל בין MYSQL לקריאה מקובץ טקסט בשרת (file_get_contents או אחר). (ועדכון הנתונים מתוך צ'רידי כל דקה ע"י סקריפט נפרד)
- במידה ואני כן רוצה בלאנס, איך זה עובד, כמובן שאני מעדיף בלאנס אצלי מאשר הפעלת שלוחה רנדומאלית בימות, אבל זה עשיתי תוך כדי קמפיין דבר ראשון שהמערכת תעבוד.
-
@dovid אמר בוויסות עומסים של שרתים:
קריאת קובץ זה פעולה מול המערכת קבצים באופן ישיר עם בעיות של נעילות ועם חוסר יעילות של קריאה סדרתית.
בגישה למסד התוכנה של mysql ממטבת את הגישה לדיסק בהרבה פרמטרים.אבל אם אני בונה בצורה נכונה עם ההרשאות וכו', ואני שם בקובץ רק את הנתון הנדרש ללא מיונים וכו' שצריך אח"כ בתוך הקובץ, זה לא יותר קליל לשרת מאשר הרצת תוכנת הSQL שצרך לגשת לטבלה מסויימת, לפי סינון או בלי?
-
@חוקר
ראיתי כאן דיון בנושא לא כל כך התעמקתי אבל בפשטות קובץ שעל השרת שלך הוא כמובן יותר מהיר
אבל עם פחות אפשרויות
דרך אגב מתי אתה מתחיל לחשוב על שינוי/שדרוג
כשהCPU מגיע למקסימום או הרבה לפני זה?
וגם איפה אני יכול לראות כמה מהזיכרון של הPHP בשימוש (לא המגבלה)?
עריכה: אולי הסקריפט הזה יעזור לך לדעת מה יותר מהיר -