![]() |
שאלה לגבי בלוג Wordpress עם תעבורה די גדולה על VPS
הייתי מאוכסן על Hostgator מעל לשנתיים, עם הזמן הבלוג גדל וכשהייתי מגיע ל-150 גולשים אונליין השרת היה נופל.
החלטתי לעבור ל-VPS ורכשתי חבילה של 512 מגה RAM והזיכרון היה מתמלא תוך כמה רגעים (במיוחד כשיש מעל 100 מחוברים) שידרגתי ושידרגתי והגעתי ל-1.5 ג'יגה RAM וגם זה לא הספיק, השרת היה נופל ב-120/130 מחוברים. לאחרונה עברתי ל-VPS ישראלי בעל 2 ג'יגה RAM, עשר מגה רוחב פס, ובינתיים אף פעם לא ראיתי את הזיכרון מתמלא מעל 50%. לפעמים אני רואה 150 מחוברים וניצול של 25% מזיכרון ה-RAM, ולפעמים 100 מחוברים עם ניצול של 40% מהזיכרון. הבעיה היא שיש תקופות שהאתר מגיע ל- PEAKIM (רגעי שיא) של 150-200 גולשים און ליין, אך הממוצע של המחוברים נמוך בהרבה. חבל לבזבז כסף על שרת שלא מנוצל במלואו. יש לי כמה שאלות - - מה משפיע על זיכרון ה-RAM (אין אני לא רואה יחס ישיר בין הניצול של הזיכרון למחוברים אונליין)? - מה ממוצע המחוברים ששרת בעל 2 ג'יגה RAM אמור להחזיק? - יש קונפיגורציות מסויימות ו/או הגדרות שאפשר לעשות בשרת ה-VPS על מנת להתאים אותו למערכת הספציפית הזאת (וורדפרס)? - מה אפשר לעשות בכללי על מנת לחסוך בזיכרון ה-RAM ולאפשר לכמה שיותר גולשים מחוברים להיות באתר מבלי שהשרת יקרוס? מצ"ב סטטיסטיקות של האתר: http://up353.siz.co.il/up3/qnyynn0ewjtw.jpg אשמח לקבל תשובה מחבר'ה שמבינים עניין |קורץ| |
תייעל את הSQL
|
ציטוט:
|
תתקין w3 total cache.
תתקין varnish לפני apache. 120 מחוברים ברגע נתון זה בסביבות ה10000 גולשים ביום. |
ציטוט:
http://hosts.co.il/forums/showthread.php?t=94120 http://hosts.co.il/forums/showthread.php?t=88815 http://www.howtoforge.com/tuning-mys...ith-mysqltuner |
Varnish בתור פתרון ראשוני? לא לא לא.
אתה עובד עם מודול של supercache במקרה? במידה ולא, זו התחלה טובה (ופשוטה יחסית). |
ציטוט:
|
ציטוט:
|
תודה לכולם על התגובות, w3 total cache מותקן כבר, לגבי ה-supercache, אין לי אפשרות להתקין את הפלאגין כי הוא גורם לבעיות בפלאגין אחר שאני משתמש בו...
לגבי ה-Varnish, הבנתי שזה גם פועל על העיקרון של הsuperchace ז"א סטטי, הבעיה שהאינטרקציה בבלוג דורשת פעולה מסויימת לכן התוכן הדינאמי חשוב לי. |
ציטוט:
מאשר כל פעם שהאתר מתפתח ב-10% צריך להתרוצץ ולחפש פתרונות, אפילו מבחינת שעות השקעה, זה פשוט יותר מאשר "לשפץ" כל פעם. ציטוט:
גם לתוכן דינאמי אפשר להשתמש ב-Varnish. פתרון נוסף: כמה בקשות לתוכן סטטי (תמונות, CSS, JS) יש לך? תוכל להפנות את התוכן הסטטי ל-NGINX ולתת קצת חמצן ל-APACHE? |
יש אולי 4-5 משתמשים רשומים שהם כתבים, וכל השאר אורחים (אין אופציה להרשמה).
איך אני יכול לבדוק כמה בקשות יש לי לתוכן סטטי? את האמת אני לא איש VPSים ושרתים הנושא הזה די חדש לי. דיברתי עם מנהל השרת ושאלתי אותו לגבי ה- mysql tuner שהציעו פה, הוא אמר שכל עוד אין לי בעיות לא צריך לנסות לייעל את מסד הנתונים. אני יודע במידה והאתר יתפתח אני אצטרך עוד פעם לדאוג לגבי הזיכרון. מישהו יכול לענות לי איזה traffic בממוצע שרת עם 2 ליבות, 2 ג'יגה RAM יכול להחזיק ביום? אני לא רוצה שיעבדו עליי ויציעו לי לשדרג ולשדרג כל פעם כשהאתר גודל קצת. |
הרעיון של VARNISH פשוט מאוד,
כל משתמש שהוא לא רשום (כלומר, אין לו COOKIE), כשהוא פונה לשרת ומבקש דף השרת יוצר את הדף פעם אחת, וזוכר אותו ל-X זמן (דקה/שעה/שבוע/חודש), בפעם הבאה שהגולש הזה/גולש אחר מבקש את העמוד, VARNISH מציג את העמוד שנמצא בזכרון. סתם מבחינת מספרים, דואל אופטרון ענתיקה יכול לטפל ב-27,000 גולשים בשנייה אחת. מבחינת יישום, מדובר בהתקנה חד פעמית, בסגנון שגר ושכח. |
ציטוט:
לגבי ה-VARNISH, כל גולש יקבל תוכן שונה, או X או Y, כדי להציג את Y נדרשת פעולה מסויימת בדף, אז כנראה שזה יעשה לי בלאגן ולפעמים גם מי שעושה את הפעולה המסוימת הזאת, עדיין רואה X ולא מקבל את Y. (בדיוק מה שקורה לי עם superchace) לגבי ה-27 אלף גולשים בשנייה, כנראה שמדובר על דף html שכתוב בו Hello World ולא מערכת מוכנה כמו WP. אולי בתאוריה זה הגיוני אבל במעשי באמת יש שרת שיכול להחזיק 27 אלף גולשים כל שניה? אני יודע שאתרים גדולים כמו פייסבוק פשוט מתחלקים לאלפי שרתים. |
תקמפל את Apache עם event mpm וכמובן להגדיר בהתאם (למרות שאפשר להשאיר על הגדרות ברירת מחדל, הן לא כאלה גרועות) - תוכל לקרוא עוד כאן: http://httpd.apache.org/docs/2.4/mod/event.html
אגב, רשמת לנו שצריכת הRAM עולה, אם תוכל לפרט איזה שירות "אוכל" יותר RAM מבד"כ אולי נוכן לכוון אותך יותר :) |
ציטוט:
אני אשמח אם תוכל להסביר לי כיצד לבדוק את התהליכים שפועלים דרך cPanel (דרך DA אני יודע, אבל הסיפאנל גם חדש לי) |
ציטוט:
איך אתה משנה את התוכן? במה שונה משתמש אחד ממשתמש אחר? |
אם השרת שלך מיועד להריץ רק מערכת WP אחת ואתה רוצה להוציא ממנו את המקסימום אני ממליץ לוותר על פאנל ניהול וללכת על מערכת יותר "רזה"
nginx/lighttpd כשPHP מותקן כFCGI, PHP-FPM וכמובן קאשינג כמו שכבר נאמר כאן שאפשר לבצע בכל מיני דרכים |
תעבור לדירקט אדמין ותוכל להיות ב VPS של אחד גיגה זיכרון הסיפאנל עובד קשה מהניסיון שלי
אם אין לך אפשרות ל סופר קאש ותגיע למצב שיש לך 20-30 אלף כניסיות ליום ומעלה אפשר לקחת שרת SQUID קטנטן וזה למעשה מדמה את הסופרקאש ויותר! זה חוסך המון תעבורה, זה חוסך המון משאבים אני ראיתי אתרים של 200 אלף ייחודיות ביום וסקויד ב100 שקל עם 256-512 מגה זיכרון מחזיק את זה כמו ענק! גם מגן על השרת שלך כל הכל כאילו מופנה אל השרת סקויד אז לא יודעים באמת היכן הקבצים יושבים - לרוב בנוסף תדאג שלפחות דף הבית שלך יהייה כמה שפחות תמונות גדולות וכמה שפחות גישות למסד מה שגורם לשימוש בזיכרון. תבדוק בלוגים של הסיפאנל שאין שגיאות או קבצים לא קיימים תדאג שגודל המסדים שלך לא יהייו גדולים מתחת ל100 מגה זה טוב - לכל מסד כמובן - פשוט לפצל את המסד לדאוג שלא יהייו תיקיות עם המון קבצים - כמה? = שלא יהייה מצב שאתה נכנס אל התיקיה ב FTP או בממשק וזה לוקח זמן. יש המון דברים שניתן לעשות מכל מיני כיוונים. לגבי ההתקפות על קצה המזלג מה שאתה מתאר יכול להעצר בתוכנה פשוטה נגד הצפות לבד לא אוכל להסביר לך - תצטרך לקחת איש מקצוע אנחנו כנותני שירות מציעים דברים כאלה אז אני מציע לך לפנות אל חברת האחסון שלך יכול להיות שיהייו להם תשובות בשבילך ברמה מקומית מקווה שעזרתי לילה טוב |
תודה לכולם על התגובות, אני מעריך את זה מאוד.
Kernel, כעיקרון התוכן שמשתנה זה קטע מסויים בפוסט, שמופיע רק אחרי לחיצה על כפתור, אחרי הכפתור יש window.reload שמרענן את הדף ומופיע תוכן שלא הופיעה מקודם. אולי יש דרך לעשות את זה עם Ajax אבל גם זה לא בטוח, מה שבטוח שאי אפשר לעשות show ו-hide פשוט עם js רגיל. בניה, בגלל הסיבה שתיארתי למעלה כנראה קאשינג לא יעזור לי, כי זה מפריע לפלאגין הספציפי הזה לעבוד, ואצלי באתר הוא פלאגין חובה. הייתי מוותר על פאנל ניהול אם הייתי יודע לעבוד מול SSH, אבל חוץ מכמה פקודות שהספקתי ללמוד על קצת המזלג, אני לא יודע יותר מדי לתפעל את השרת בעזרת פקודות ואני צריך ממשק ויזואלי. beastserv, שמתי לב ששגיאה שחוזרת על עצמה הרבה פעמים ביום היא: קוד:
[Mon Apr 02 01:00:49 2012] [error] [client xxx.xxx.xx.x] (12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp for /home/jenya/public_html/index.php, referer: http://traffic.outbrain.com שוב, תודה לכולם פה. |
זה אומר שנגמר לך הזיכרון
Cannot allocate memory צריך לבדוק את זה אני מהמר על סליפים שלא נסגרים המסדים שלך |
ג'ניה, לפי השגיאה מותקן אצלך suPHP בשרת.
הוא אמנם משפר את האבטחה (אבל השרת שלך מיועד לאתר אחד בלבד אז בכל מקרה לא רואה בו צורך), אבל מוריד משמעותית את הביצועים (מבחינת משאבים ומהירות פענוח קבצי PHP). תוכל לעיין בנושא הזה לפתרונות חלופיים: http://www.hosts.co.il/forums/showthread.php?t=96187 אבל שוב, מדובר בשרת למשתמש (אתר) אחד בלבד, לכן אני לא רואה שום סיבה להתקין את אחד מהפתרונות המוצעים. התצורה הכי מומלצת בשבילך (מבחינת פשטות התקנה וביצועים) היא Apache + mod_php כמובן שאפשר להוסיף Varnish וeAccelerator אבל ציינת שאין לך הרבה ידע בנושא לכן עדיף לך לחסוך לעצמך כאב ראש / לפנות למישהו שמבין בתחום שיעשה את זה בעבורך. |
חבר'ה אני מודה על העזרה שלכם, אבל אני מתכנת, אני לא איש תחזוקה של שרתים לכן רוב מה שנכתב פה הוא ג'יבריש בשבילי (איכשהוא אני מנסה לחקור בגוגל אך אני לא רוצה להתעסק עם השרת יותר מדי כדי לא לפגוע בפעילות האתר).
מי שהגיב פה כנראה הבין את הבעיה שלי, אני מחפש חברת אחסון חדשה: http://www.hosts.co.il/forums/showthread.php?p=840067 מי שמוכן להבטיח לי שקט נפשי מבחינת השרת בתמורה ל-200 שקל, מחר אני מפקיד לו כסף לבנק... אני סך הכל רוצה להריץ בלוג וורדפרס אין לי שום אינטרס להתעסק עם המאחורי הקלעים של השרת... אני מרגיש שמנסים כל הזמן לגרום לי לשלם יותר וכל הזמן אני מוצא את עצמי משדרג ומשדרג את החבילה שברשותי... |
סתם שאלה, למה החלטת ללכת על VPS כשאתה לא יודע לנהל אותו?
למה לא להשתמש באחסון שיתופי? |
ציטוט:
הלוואי והייתי נשאר על אחסון שיתופי, בלי יותר מדי כאבי ראש... |
ציטוט:
|
ציטוט:
|
ציטוט:
|
זה מגבלה על כמות המשאבים שאתה צורך,
לדעתי הסכום מאוד נמוך ביחס לדרישות, תבדוק אם אחת החברות מעוניינות בפירסום בתמורה לסיבסוד עלות האירוח. |
עצם העובדה שאתה ממשיך לחפש פתרונות בנוסח "אחסון חזק יותר" אינה נכונה ולא תפתור את הבעיה.
לפי איך שאתה מתאר את המערכת ואת ממוצע הגולשים שלך - VPS סטנדרטי אמור לענות על הצרכים שלך ללא שום בעיה. הייתי ממליץ להתחיל עם שיפורים מבחינת יעילות וחסכון במשאבים במערכת ו/או בקונפיגורציה נכונה של השרת ובהתאמתו למערכת ולדרישות שלה. תפתור את הבעיה מהשורש ואל תבחר בפתרונות עקיפים בסגנון שרת חזק יותר, הבעיה לא תפתר ככה. |
תודה על התגובות.
עדיין לא הצלחתי לגבש דעה כי Kernel אומר לי שזה סכום נמוך, ואני צריך להשקיע יותר בשרת, יכול להיות... אבל מצד שני xPerfection טוען ש-VPS סטנדרטי אמור לספק אותי... אין לי בעיה להשקיע גם 600 ש"ח בחודש בשרת ייעודי, השאלה האם אני באמת צריך את זה? סה"כ יש לי תעבורה של 10K יוניקים ביום, זה לא כ"כ הרבה לפי דעתי... |
ציטוט:
מעבר לעלות הזאת - עבור האופטימיזציה של השרת ושל המערכת ישנה עלות נוספת וחד פעמית (ובמידת הצורך גם עלות חודשית מתמשכת) להגדרת השרת והתאמתו למערכת ולצרכיה, שיפורים במערכת לחסכון במשאבים, ניטור הניצול השותף של השרת וכו' - כל זאת ועוד כמובן שלא יכנסו בתקציב של 200 ש"ח בחודש. ניתן לדמות את המקרה לבקבוק מים עם חור בתחתית: ככל שתקנה בקבוק גדול יותר, בסופו של דבר תוכל לשתות יותר, אבל כל עוד יש חור בבקבוק, אתה לא פותר את הבעיה באמצעות קנייה של בקבוק גדול יותר - החור עדיין מונע ממך לנצל את כמות המים שיש בבקבוק. |
ציטוט:
יש עשרות אם לא מאות סיבות לשגיאות OOM. את שלבי הדיאגנוסטיקה עליך לחלק למספר שלבים. 1. בדיקת קוד המערכת. 2. אופטמיזציה לקוד על פי הממצאים. 3. בדיקת קונפיגורצית השרת, ופענוח לוגים. 4. אופטמיזציה לשרת על פי הממצאים. כל זה תוך מבט לעתיד על פתרון ארוך טווח הכי קל זה לזרוק קוד תקול על חומרה חזקה ולתת לה להתמודד. יותר מסובך זה לאבחן את מקור העומסים ולאבחן האם הפתרון החומרתי הוא הפתרון הנכון במקרה שלך. לצערנו ישנם מקרים שאין אפשרות אחרת חוץ מחומרה , זה בדרך כלל במקרים של קוד לא יעיל שלא ניתן לשנותו מהבסיס. אבל עד שלא בוצעה אופטמיזציה , גם לקוד וגם לשרת, לא תוכל לדעת איפה אתה עומד מבחינת הוצאה חודשית על חומרה ( בין אם וירטואלית או יעודית ). הציעו לך מספר אפשרויות ורעיונות שכוללים מערכות CACHE , בהחלט זה יכול לעזור. אבל לאתר עם 10,000 כניסות חודשיות(?) זה נשמע כמו OVERKILL בשלב זה. היחיד שיכול לענות על כל השאלות שלך זה שרת הלינוקס עצמו... , אני בטוח שהתשובה מסתתרת בלוג המערכת. |
סתם בשביל לסבר את האוזן.
יש לי שרת ייעודי חלש יחסית (מעבד C2D E5700) שמחזיק אתרים עם 50-60 אלף גולשים ביום בלי שום בעיה. הכל תלוי בקונפיגורציה של השרת. צור איתי קשר בה.פ אם אתה מעוניין שאנסה לעזור לך למצוא שרת שיתופי טוב (יש לי קצת קשרים בתחום :)) |
ציטוט:
זה מסוג הדברים שצריך לתכנן מראש, אפשר להתחיל לערוך את הקוד מכאן ועד מחר, ולשבור את הראש בכל פעם שוורדפרס מוציאים גירסה חדשה. ואפשר להגדיר Cache נכון, להפנות את כל המשאבים הסטטים לשרת Cache נפרד. יכול להיות שה-Load Avarage יצנח רק מהגדרה נכונה של max-age ל-CSS ו-JS. אבי. |
עברתי על האתר שלך,
קיבצתי כמה טיפים שימריצו את האתר ובאותו הזמן יאפשרו קצת אוויר לנשימה ל-VPS: 1. את כל תוספי LIKE, PLUS1, לינקדין וכו', תפעיל באמצעות טעינה אסנכרונית, פרטים נוספים כאן. 2. אתה טוען חלק מתוספי צד ג' דרך SSL, זה מיותר לגמרי ומאט מאוד את האתר, את ה-https תחליף ב-http. 3. תוכן כפול: יש לך תכנים כפולים באתר: פעם אחת התוסף של Linkedin, הוא מופיע פעמיים (פעם אחת https, פעם אחת http). פעם שנייה, הרקע של האתר - פעם אחת מ-wp-content/uploads/2012/02/****.jpg פעם שנייה מ-wp-content/themes/arras/images/****.jpg, אתה מוריד מהשרת עוד 372KB סתם. 4. את כל קבצי ה-CSS ו-JS תכווץ באמצעות CSS/JS MINIFY. 5. תטמיע data:image בקובץ ה-CSS - wp-content/themes/arras/css/styles/default-rtl.css, זה יחסוך לך 11 בקשות לתמונות מהשרת. אם אתה מחפש פתרון אוטומטי, תקרא על פתרונות אוטומטיים להאצת אתרים בבלוג שלי. 6. גולת הכותרת והפתרון שיוריד לך המון לחץ מהשרת, הגדרת Cache-Control: max-age נכונות, תוסיף את הקוד הבא ל-Htaccess שלך: קוד:
אבי. |
כל הזמנים הם GMT +2. הזמן כעת הוא 12:28. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ