![]() |
אני מחפש מוד להגבלת רוחב פס
שלום ,
יש לי בשרתים שלי מוד BW שמגביל רוחב פס - מהירות הורדה שמתבצעים אצלי. הבעיה שאני לא מרוצה מימנו : כי הוא לא שומר על רוחב פס קבוע לחלק מהספקיות . כלומר שקודם נגיד מהירות ההורדה מתחילה על 400 ואז הוא קולט את המגבלה של הקלינט בהתאם להגבלה שאני בחרתי ומעלה את המהירות בהדרגה ( במקום שישר יבצע הורדה של הקובץ לדוגמה על 1 מגה לשנייה קבוע ) חשבתי לעשות הגבלה דרך PHP - ככה שהרוחב פס בהורדה ישמור אולי על קצב הורדה תקין, אני יודע שזה לוקח הרבה יותר משאבים . * אני אשמח להמלצות לשיטה טובה לשמירת קצב מהירות הורדה תקינה . |
לא כ"כ הבנתי את הבעיה שהסברת,
בכל מקרה להעביר את הורדה דרך PHP לדעתי רעיון גרוע עם איזה שרת HTTP אתה עובד ועם איזה MOD אתה מגביל מהירות? |
ציטוט:
ההורדה עוברת דרך XSENDMOD , הגבלת הרוחב פס עוברת דרך mod_bw שאני לא ממש מרוצה מימנו בכלל , ואני מחפש משהו טוב יותר שיוכל להגביל את מהירות ההורדה לגולש מבלי אי קביעות במהירות . * שלא תבין אותי לא נכון , המערכת אצלי מתנהלת עם עוד שרתים מהצד , כרגע הבעיה שלי זה רק אי קביעות במהירות הורדה - במקום שתמיד ההורדה תתבצע על מקסימום של רוחב הפס של הלקוח , זה מתחיל נגיד מ500KB ועולה לאט לאט בקצב מעצבן |
שוב, לא הבנתי את הבעיה.
נניח המגבלה שלך היא 5 מגה ביט והמהירות של המשתמש היא 10. אם ההורדה מתחילה ב 5 מגה ביט כמו המגבלה אז איך היא עולה אם זו המגבלה? או שזה עובד "לפי מקום פנוי" ואם יש רוחב פס פנוי זה יתן יותר מהמגבלה? |
ראיתי שיש לך שרת ב ovh למה להגביל ? כמה המהירות שלך שם?1GB 10GB? יש איטיות שאתה פותח לכל הקו?
|
השרת בארץ?
ניתן להשתמש בnginx להגבלת תעבורה כללית (כולם מורידים בx קילובייט לשנייה), או להגדיר שאחרי yMb המהירות תצנח לz קילובייט בשנייה. ניתן להשתמש בx-sendfile או ב-secure links (אני מעדיף את האופציה האחרונה). |
ציטוט:
* בקיצור המוד מתאים את עצמו ע"פ הגדרות שלי ויחס של פעילות ברוחב הפס ציטוט:
ציטוט:
* נראה לי הכי טוב זה לעשות שהשרת הראשי יהיה על apache וכל שאר שרתים שאני מוסיף לשימוש העלאה בלבד יהיו על NGINX . ** עם המוד הזה לא יצא לי לעבוד secure links אז אני לא ממש יודע איך הוא פועל . בכל זאת אני אשמח שתעזרו לי לקבל החלטה האם כדי לי להגדיר את שרתי העלאה לפי NGINEX או אולי עם secure links שאני אשמח לקבל עוד מידע על איך זה פועל . |
יש משהו כמו X SEND FILE גם לNGINX:
http://wiki.nginx.org/X-accel http://wiki.nginx.org/XSendfile בנוגע להגבלת רוחב פס אני מכיר את: http://wiki.nginx.org/NginxHttpCoreModule#limit_rate אבל אולי יש משהו יותר חכם כמו של הAPACHE |
ציטוט:
אני ממליץ לך להשתמש ב-Secure Link, אתה יכול ליצור לינק דינאמי (הכתובת משתנה מגולש לגולש), כשהלינק עצמו מכיל (בצורה מוצפנת) מידע כמו: אייפי, User agent, זמן חייים ללינק (TTL, שאחריו הלינק מפסיק לעבוד), ועוד. הרעיון הוא שאתה יוצר את הלינק ב-PHP, והגולש בעצמו ניגש ל-Nginx ו-Nginx בודק שהלינק תקין ומאפשר הורדה (ללא שימוש ב-PHP וכו'). בעבר היה לי רעיון לאתר להעלאת קבצים, חלק מהאפיון הכיל: -- הורדה בחינם, שם אתה מוריד 2Mb ראשונים בשיא המהירות (עד אז הגולש ימזער את החלון), ולאחר מכן ההורדה צונחת ל-30Kb. -- גולשים משלמים מחיר רגיל אחרי 5Mb צונח ל-200Kb. -- גולשים משלמים מחיר פרימיום, רוחב פס בלתי מוגבל. שים לב ש-Traffic shpaing רוצח את ההארדיסק במידה ואתה לא מגדיר Buffer גדול. |
לטעמי עדיף להביא appliance שיודע לעשות QOS ברמה של הרשת ולהגביל מהירות PER THREAD ברמת הרשת ולא לתת לשרת להאבק בפרוצדורה של הגבלת המהירות באופן מלאכותי.
|
ציטוט:
זה נעשה בצורה מטומטמת (השכבה של php באמצע מאטה את העסק) אבל עובד. כשמשתמשים בnginx המצב טוב פי כמה, נכון שאפשר להשתמש בחומרה כדי לבצע את כל התהליכים האלה אבל יש פה קטע של עלות-תועלת. אני משתמש בnginx לשרתים עם קווים של 200-400 אמביט עם qos בלי שום בעיה(מערך רייד ssd) |
ציטוט:
אני לא מסתכל כאן על עלות תועלת בכלל, אלה על פתרון שהייתי מיישם לעצמי במידה והייתי צריך את זה, אני הייתי הולך על APPLIANCE כלשהו שזו העבודה שלו לנהל תעבורה ורוחב פס. לקחת מערך SSD ב RAID ולתת לאפליקציה לטחון על הדיסקים שם, זה בסדר גמור, בהנחה שיש לך תקציב למערך SSD RAID, אופציה מעולה, הטכנולוגיה מאפשרת את ה"בזבוז" זמן I/O שנגרם כתוצאה מה"טמטום" של האפליקציה. לעומת זאת לתת לסקריפט PHP או אפילו ל NGINX לצורך העניין לשבור את הקבצים ולשלוח אותם מדיסק SATA רגיל זה לא פתרון טוב ( ואני עדין במילים כאן ). |
לא בדיוק, יש לשרת שלי המון זיכרון RAM, אז הבאפר עומד על 24Mb.
ו-Nginx מנהל את העסק דיי טוב, ה-Iowait עומד על 0.15% |
אם זה ממש חשוב לך אני הייתי הולך על וירטואליזציה
שים לך וירטואליזציה זה נותן לך אפשרות להגביל לכמה שאתה רוצה ואפילו לחלק את השרת לוירטואלים איכותיים שלא לוקחים הרבה מהמשאבים למשל לפצל ל2 באחד אתה תוכל להגביל ל10 מגה לצורך העניין ובשני לכמה שתרצה 10-20-30 ומעלה ובDA לחבר את בניהם את ה DNS זה למעשה יעשה לך סדר ויתן לך כלים לשלוט בתעבורה שלך מבלי לשים סקריפט שדורש המון משאבים סתם עוד אופציה לחשוב עליה שיהייה בהצלחה |
אוקי , בסוף הבעייה יותר מאצלי - משהו עם הרשת האלחוטית שלי .
אבל בכל זאת לשם שיפור הביצועים אני כנראה יעבור לשרתי NGINX בשרתים שמקבלים את כל הקבצים תודה על העזרה מכולם |
אם אני לא טועה אפשר להגביל רוחב פס פר חיבור באמצעות iptables.
מצי לך לגגל על זה קצת..יחסוך לך כאבי ראש. אגב Kernel, אשמח אם תוכל לפרט איך Nginx יודע לאיזה קובץ לגשת לפי הקישור המוצפן. |
תסתכל בבלוג שלי לגבי זה (תחפש Secure links).
אאל"ט הסברתי בעבר על Lighttpd. אותו הדבר נמצא גם ב-nginx רק שב-nginx אתה יכול לשלוט על המרכיבים של הקישור (אייפי של גולש, מפנה, User agent וכו'). אבי |
| כל הזמנים הם GMT +2. הזמן כעת הוא 01:30. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ