הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   תחזוק שרתים ושירותי רשת נוספים (https://hosts.co.il/forums/forumdisplay.php?f=29)
-   -   אני מחפש מוד להגבלת רוחב פס (https://hosts.co.il/forums/showthread.php?t=99411)

mcm1200 19-08-12 14:05

אני מחפש מוד להגבלת רוחב פס
 
שלום ,
יש לי בשרתים שלי מוד BW שמגביל רוחב פס - מהירות הורדה שמתבצעים אצלי. הבעיה שאני לא מרוצה מימנו : כי הוא לא שומר על רוחב פס קבוע לחלק מהספקיות . כלומר שקודם נגיד מהירות ההורדה מתחילה על 400 ואז הוא קולט את המגבלה של הקלינט בהתאם להגבלה שאני בחרתי ומעלה את המהירות בהדרגה ( במקום שישר יבצע הורדה של הקובץ לדוגמה על 1 מגה לשנייה קבוע )

חשבתי לעשות הגבלה דרך PHP - ככה שהרוחב פס בהורדה ישמור אולי על קצב הורדה תקין, אני יודע שזה לוקח הרבה יותר משאבים .

* אני אשמח להמלצות לשיטה טובה לשמירת קצב מהירות הורדה תקינה .

בניה 19-08-12 15:00

לא כ"כ הבנתי את הבעיה שהסברת,
בכל מקרה להעביר את הורדה דרך PHP לדעתי רעיון גרוע
עם איזה שרת HTTP אתה עובד ועם איזה MOD אתה מגביל מהירות?

mcm1200 19-08-12 15:17

ציטוט:

נכתב במקור על ידי בניה (פרסם 854940)
לא כ"כ הבנתי את הבעיה שהסברת,
בכל מקרה להעביר את הורדה דרך PHP לדעתי רעיון גרוע
עם איזה שרת HTTP אתה עובד ועם איזה MOD אתה מגביל מהירות?

שרת apache , חשבתי לשלב עם NGINX
ההורדה עוברת דרך XSENDMOD , הגבלת הרוחב פס עוברת דרך mod_bw שאני לא ממש מרוצה מימנו בכלל , ואני מחפש משהו טוב יותר שיוכל להגביל את מהירות ההורדה לגולש מבלי אי קביעות במהירות .

* שלא תבין אותי לא נכון , המערכת אצלי מתנהלת עם עוד שרתים מהצד , כרגע הבעיה שלי זה רק אי קביעות במהירות הורדה - במקום שתמיד ההורדה תתבצע על מקסימום של רוחב הפס של הלקוח , זה מתחיל נגיד מ500KB ועולה לאט לאט בקצב מעצבן

בניה 19-08-12 17:42

שוב, לא הבנתי את הבעיה.
נניח המגבלה שלך היא 5 מגה ביט והמהירות של המשתמש היא 10.

אם ההורדה מתחילה ב 5 מגה ביט כמו המגבלה אז איך היא עולה אם זו המגבלה?
או שזה עובד "לפי מקום פנוי" ואם יש רוחב פס פנוי זה יתן יותר מהמגבלה?

netpower 19-08-12 17:48

ראיתי שיש לך שרת ב ovh למה להגביל ? כמה המהירות שלך שם?1GB 10GB? יש איטיות שאתה פותח לכל הקו?

Kernel 19-08-12 17:48

השרת בארץ?

ניתן להשתמש בnginx להגבלת תעבורה כללית (כולם מורידים בx קילובייט לשנייה), או להגדיר שאחרי yMb המהירות תצנח לz קילובייט בשנייה.

ניתן להשתמש בx-sendfile או ב-secure links (אני מעדיף את האופציה האחרונה).

mcm1200 19-08-12 18:25

ציטוט:

נכתב במקור על ידי בניה (פרסם 854948)
שוב, לא הבנתי את הבעיה.
נניח המגבלה שלך היא 5 מגה ביט והמהירות של המשתמש היא 10.

אם ההורדה מתחילה ב 5 מגה ביט כמו המגבלה אז איך היא עולה אם זו המגבלה?
או שזה עובד "לפי מקום פנוי" ואם יש רוחב פס פנוי זה יתן יותר מהמגבלה?

המוד פועל כך שאני בוחר כמה מגבלה להורדה לקבצים גדולים + מבצע התאמה לגולשים לפי כמות המורידים כל שיותר תעבורה מנוצלת הוא יותר מגביל .

* בקיצור המוד מתאים את עצמו ע"פ הגדרות שלי ויחס של פעילות ברוחב הפס

ציטוט:

נכתב במקור על ידי (פרסם 854949)
ראיתי שיש לך שרת ב ovh למה להגביל ? כמה המהירות שלך שם?1GB 10GB? יש איטיות שאתה פותח לכל הקו?

השרתים שלי נמצאים בצרפת כל שרת על רוחב פס 100 פרטי , אני הגדרתי את השרת כבר , רק שאני מגדיר דרך המוד BW זה מעלה בהדרגה מעצבנת את המהירות הורדה למבצע ההורדה

ציטוט:

נכתב במקור על ידי Kernel (פרסם 854950)
השרת בארץ?

ניתן להשתמש בnginx להגבלת תעבורה כללית (כולם מורידים בx קילובייט לשנייה), או להגדיר שאחרי yMb המהירות תצנח לz קילובייט בשנייה.

ניתן להשתמש בx-sendfile או ב-secure links (אני מעדיף את האופציה האחרונה).

אני כרגע על XSENDFILE , מה שמצחיק שהמוד mod_bw שיש לי בשרתים , נגיד לקוח קיבל 2 מגה לשנייה להורדה ברגע שהוא מגיע ל2 הוא מאפס את עצמו ומגיע לדוגמה ל500KB ומעלה את המהירות בהדרגה . במקום שפשוט שיהיה קבוע על המקסימום מבלי לאפס .

* נראה לי הכי טוב זה לעשות שהשרת הראשי יהיה על apache וכל שאר שרתים שאני מוסיף לשימוש העלאה בלבד יהיו על NGINX .

** עם המוד הזה לא יצא לי לעבוד secure links אז אני לא ממש יודע איך הוא פועל .

בכל זאת אני אשמח שתעזרו לי לקבל החלטה האם כדי לי להגדיר את שרתי העלאה לפי NGINEX או אולי עם secure links שאני אשמח לקבל עוד מידע על איך זה פועל .

בניה 19-08-12 19:16

יש משהו כמו X SEND FILE גם לNGINX:
http://wiki.nginx.org/X-accel
http://wiki.nginx.org/XSendfile

בנוגע להגבלת רוחב פס אני מכיר את:
http://wiki.nginx.org/NginxHttpCoreModule#limit_rate
אבל אולי יש משהו יותר חכם כמו של הAPACHE

Kernel 19-08-12 20:49

ציטוט:

נכתב במקור על ידי בניה (פרסם 854954)
יש משהו כמו X SEND FILE גם לNGINX:
http://wiki.nginx.org/X-accel
http://wiki.nginx.org/XSendfile

בנוגע להגבלת רוחב פס אני מכיר את:
http://wiki.nginx.org/NginxHttpCoreModule#limit_rate
אבל אולי יש משהו יותר חכם כמו של הAPACHE

limit_rate_after (כתבתי על זה בהודעה הקודמת שלי)

אני ממליץ לך להשתמש ב-Secure Link, אתה יכול ליצור לינק דינאמי (הכתובת משתנה מגולש לגולש), כשהלינק עצמו מכיל (בצורה מוצפנת) מידע כמו: אייפי, User agent, זמן חייים ללינק (TTL, שאחריו הלינק מפסיק לעבוד), ועוד.
הרעיון הוא שאתה יוצר את הלינק ב-PHP, והגולש בעצמו ניגש ל-Nginx ו-Nginx בודק שהלינק תקין ומאפשר הורדה (ללא שימוש ב-PHP וכו').

בעבר היה לי רעיון לאתר להעלאת קבצים, חלק מהאפיון הכיל:
-- הורדה בחינם, שם אתה מוריד 2Mb ראשונים בשיא המהירות (עד אז הגולש ימזער את החלון), ולאחר מכן ההורדה צונחת ל-30Kb.
-- גולשים משלמים מחיר רגיל אחרי 5Mb צונח ל-200Kb.
-- גולשים משלמים מחיר פרימיום, רוחב פס בלתי מוגבל.

שים לב ש-Traffic shpaing רוצח את ההארדיסק במידה ואתה לא מגדיר Buffer גדול.

yonatan 19-08-12 21:22

לטעמי עדיף להביא appliance שיודע לעשות QOS ברמה של הרשת ולהגביל מהירות PER THREAD ברמת הרשת ולא לתת לשרת להאבק בפרוצדורה של הגבלת המהירות באופן מלאכותי.

Kernel 19-08-12 21:41

ציטוט:

נכתב במקור על ידי yonatan (פרסם 854963)
לטעמי עדיף להביא appliance שיודע לעשות QOS ברמה של הרשת ולהגביל מהירות PER THREAD ברמת הרשת ולא לתת לשרת להאבק בפרוצדורה של הגבלת המהירות באופן מלאכותי.

יונתן. מיליון סקריפטים פותחים את קובץ ו״קוראים״ למשתמש קטעים קטעים ממנו.
זה נעשה בצורה מטומטמת (השכבה של php באמצע מאטה את העסק) אבל עובד.

כשמשתמשים בnginx המצב טוב פי כמה, נכון שאפשר להשתמש בחומרה כדי לבצע את כל התהליכים האלה אבל יש פה קטע של עלות-תועלת.

אני משתמש בnginx לשרתים עם קווים של 200-400 אמביט עם qos בלי שום בעיה(מערך רייד ssd)

yonatan 19-08-12 23:45

ציטוט:

נכתב במקור על ידי Kernel (פרסם 854965)
יונתן. מיליון סקריפטים פותחים את קובץ ו״קוראים״ למשתמש קטעים קטעים ממנו.
זה נעשה בצורה מטומטמת (השכבה של php באמצע מאטה את העסק) אבל עובד.

כשמשתמשים בnginx המצב טוב פי כמה, נכון שאפשר להשתמש בחומרה כדי לבצע את כל התהליכים האלה אבל יש פה קטע של עלות-תועלת.

אני משתמש בnginx לשרתים עם קווים של 200-400 אמביט עם qos בלי שום בעיה(מערך רייד ssd)

ראיתי המון סקריפטים כאלה, ובהחלט מדובר בשיטת עבודה לא מקצועית ולא אמינה בטווח הארוך.
אני לא מסתכל כאן על עלות תועלת בכלל, אלה על פתרון שהייתי מיישם לעצמי במידה והייתי צריך את זה, אני הייתי הולך על APPLIANCE כלשהו שזו העבודה שלו לנהל תעבורה ורוחב פס.
לקחת מערך SSD ב RAID ולתת לאפליקציה לטחון על הדיסקים שם, זה בסדר גמור, בהנחה שיש לך תקציב למערך SSD RAID, אופציה מעולה, הטכנולוגיה מאפשרת את ה"בזבוז" זמן I/O שנגרם כתוצאה מה"טמטום" של האפליקציה.

לעומת זאת לתת לסקריפט PHP או אפילו ל NGINX לצורך העניין לשבור את הקבצים ולשלוח אותם מדיסק SATA רגיל זה לא פתרון טוב ( ואני עדין במילים כאן ).

Kernel 19-08-12 23:53

לא בדיוק, יש לשרת שלי המון זיכרון RAM, אז הבאפר עומד על 24Mb.
ו-Nginx מנהל את העסק דיי טוב, ה-Iowait עומד על 0.15%

beastserv 20-08-12 21:10

אם זה ממש חשוב לך אני הייתי הולך על וירטואליזציה
שים לך וירטואליזציה זה נותן לך אפשרות להגביל לכמה שאתה רוצה ואפילו לחלק את השרת לוירטואלים איכותיים שלא לוקחים הרבה מהמשאבים
למשל לפצל ל2 באחד אתה תוכל להגביל ל10 מגה לצורך העניין ובשני לכמה שתרצה 10-20-30 ומעלה ובDA לחבר את בניהם את ה DNS

זה למעשה יעשה לך סדר ויתן לך כלים לשלוט בתעבורה שלך מבלי לשים סקריפט שדורש המון משאבים

סתם עוד אופציה לחשוב עליה שיהייה בהצלחה

mcm1200 20-08-12 21:22

אוקי , בסוף הבעייה יותר מאצלי - משהו עם הרשת האלחוטית שלי .

אבל בכל זאת לשם שיפור הביצועים אני כנראה יעבור לשרתי NGINX בשרתים שמקבלים את כל הקבצים


תודה על העזרה מכולם

zoharesh 22-08-12 15:50

אם אני לא טועה אפשר להגביל רוחב פס פר חיבור באמצעות iptables.
מצי לך לגגל על זה קצת..יחסוך לך כאבי ראש.

אגב Kernel, אשמח אם תוכל לפרט איך Nginx יודע לאיזה קובץ לגשת לפי הקישור המוצפן.

Kernel 22-08-12 16:16

תסתכל בבלוג שלי לגבי זה (תחפש Secure links).
אאל"ט הסברתי בעבר על Lighttpd. אותו הדבר נמצא גם ב-nginx רק שב-nginx אתה יכול לשלוט על המרכיבים של הקישור (אייפי של גולש, מפנה, User agent וכו').

אבי


כל הזמנים הם GMT +2. הזמן כעת הוא 01:30.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ