1 / 24

ניר לוי CTO ריל קומרס

איך לבנות אתרים בעלי ביצועים גבוהים וזמינות גבוהה ב- SharePoint 2010. ניר לוי CTO ריל קומרס. על מה נדבר. מה זאת אומרת "גבוהים" ולמה זה חשוב איך בודקים ביצועים מה משפיע על ביצועי האתר איך להוריד את העומס של השרת איך להוריד את משקל הדפים איך להוריד את כמות הפניות לשרת זמינות גבוהה.

amadis
Download Presentation

ניר לוי CTO ריל קומרס

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. איך לבנות אתרים בעלי ביצועים גבוהים וזמינות גבוהה ב- SharePoint 2010 ניר לוי CTO ריל קומרס

  2. על מה נדבר • מה זאת אומרת "גבוהים" ולמה זה חשוב • איך בודקים ביצועים • מה משפיע על ביצועי האתר • איך להוריד את העומס של השרת • איך להוריד את משקל הדפים • איך להוריד את כמות הפניות לשרת • זמינות גבוהה

  3. מה זאת אומרת "ביצועים גבוהים" • לא רק לאתרים גדולים • רוב הנושאים במצגת רלוונטים לכל אתר שהוא • רוב הטיפים במצגת רלווונטים לא רק לאתרי SharePoint 2010 • לפעמים חייבים להתפשר בביצועים עכב דרישות עסקיות

  4. למה בכלל זה חשוב? • מהירות האתר קריטית להצלחתו • אתר איטי מוביל לאחוזי נטישה גבוהים • אמזון גילו שעלייה של 0.1 שניות בזמן הגשת דף הובילה לירידה של 1% במכירות • אתר מהיר מעלה את רמת שביעות הרצון של הלקוחות • חיסכון בעלויות תפעוליות ו-TCO • עלויות חומרה • עלויות Bandwidth • עלויות תמיכה ושירות לקוחות

  5. כלי בדיקה לביצועים • SharePoint 2010 Developer Dashboard • זמן ריצה של דף • רשימת השאילתות • Call Trace עם זמן של כל פעולה • WebPart Trace – זמן ביצוע של כל WebPart

  6. כלי בדיקה לביצועים • מבוססי דפדפן • Fiddler • IE Developer Toolbar • Yslow • HTTPWatch – מומלץ! • כלי בדיקות העמסה • TinyGet / Wget • Visual Studio Test Edition • LoadRunner / WebLoad • שירותי בדיקה חיצוניים • SaaS

  7. אז מה משפיע על ביצועים? • כמות העבודה שהשרת צריך לבצע • משקל הדף (והקבצים הנלווים) • מספר הפניות לשרת • רכיבי הרשת וה-Bandwidth

  8. הורדת העומס על השרת • טופולוגיה נכונה של שרתים • תכנון הפיתוח מכוון ביצועים • כתיבה נכונה של קוד ושימוש בקוד קיים • הגדרת מתודולוגיית Cache נכונה • העברת SSL וחלק מהעבודה לשכבה חיצונית

  9. הורדת העומס טופולוגיית שרתים • עבדו לפי ה- Best Practices של הפרדת שירותים שונים לשרתים שונים • בטלו שירותי SharePoint ו- Windows מיותרים על המכונה • הפרדה פיזית של סביבת העריכה מסביבת התצוגה • הפכו את ה- DB של סביבת התצוגה ל- ReadOnly • שימוש ב- Content Deployment – משופר ב-2010 • שימוש ב- SQL Server Mirroring להעתקת תוכן בין סביבות – חדש ב-2010

  10. הורדת העומסקוד מנוהל • עבדו לפי סטנדרטים נכונים של .NET • טיפול ב- Exceptions • כתבו בצורה דפנסיבית • אל תתפסו שגיאות שלא ניתנות לטיפול • נסו לגלות כשלים כמה שיותר מוקדם בקוד • לא לשכוח לנקות ב- Finally {} • הבינו כיצד מנוהלים אובייקטים של .NET • מנעו זליגת משאבים (Connection Leaks, Memory Leaks, Socket Leaks)

  11. הורדת העומסקוד מנוהל • דפוסים נכונים ב- SharePoint • תמיד תדעו מה קורה מאחורי הקלעים • “list.Items.Count” – עובר על כל הפריטים ברשימה • שחררו אובייטקים כאשר אתם מסיימים • אגרגציות וסיכומים • השתמשו ברכיבים OOTB ככל שניתן • השתמשו ב- SPLinq • פחות יעיל מ-CAML, יותר יעיל מ-OM, יותר בטוח משניהם • המנעו מאיטרציות על אובייקטים ככל שניתן • CAML לעזרתכם

  12. הורדת העומסאסטרטגיות Cache • תכננו את אסטרטגיית ה- Cache מראש • Output Cache • Cache ברמת הדף • Cache ברמת ה- WebPart • BLOB Cache • Cache אפליקטיבי • שימוש חוזר באובייקטים ברמת הדף • שימוש חוזר באובייקטים ברמת ה- Session • שימוש חוזר באובייקטים ברמת האפליקציה • השתמשו ב-& Pools Object Factories

  13. הורדת העומסהעבירו עבודה למקום אחר • SSL • צרכן משאבים משמעותי (CPU, זכרון) • ניתן להעביר לרכיבי חומרה או מאיצי SSL • ארכיטקטורה מבוזרת • העבירו את ה- Business Logic לשרת אפליקציה • נצלו את יכולות ה- WCF • בצעו פעילויות כבדות בשרתים פנימיים באמצעות טיימר

  14. הורדת גודל הדףמה משפיע על גודל הדף

  15. הורדת גודל הדףדפוסי עבודה נכונים • מזערו את ה- ViewState • כתבו XHTML תקין • השתמשו ב- Style רק בקבצי CSS • קבצים נלווים • הסירו קבצים מיותרים • בצעו איחוד ומזעור של קבצי JS ו-CSS • דחיסה ברמת ה-IIS • בצעו דחיסה של קבצים ברמת ה- IIS

  16. הורדת גודל הדףשיפור חווית המשתמש • השתמשו ב- HTML מבוסס CSS ולא טבלאות • טענו קבצי CSS מוקדם ככל האפשר • טענו קבצי JS מאוחר ככל האפשר • הגדירו רוחב וגובה לתמונות ברמת ה- HTML • טענו קבצי Flash ו- SilverLight בצורה פרוגרסיבית • מומלץ להעלות "שומר מקום" בזמן הטעינה • השתמשו ב- JQuery • אבל הזהרו משימוש רחב מידיבפלאגינים

  17. הורדת מספר הפניות לשרת • אחדו את קבצי ה- CSS וה- JS כמה שיותר • הורידו את כמות קבצי ה- CSS וה- JS ע"י איחודם • עדיף לבצע בזמן ה- Build ע"י כלים אוטומטים • ניתן להשתמש במוצרים המבצעים את ההקטנה ב- Runtime • השתמשו ב- CSS Sprites • תכננו את ה- Client Side Cache כראוי • השתמשו ב- CDNs וב- Reverse Proxies

  18. שימוש ב- CDN • CDN – מבצעים Cache לתוכן ברחבי העולם • מקטינים את השפעת הרשת על הביצועים • מטפלים במליוני גולשים • לרוב לא מתאימים לשימוש בדפים אישיים • אבל ניתן להשתמש בצורה חכמה ע"י שימוש ב- Ajax ו/או ESI • לרוב דורשים תכנון מראש של מבנה הדפים

  19. שימושים שונים ל-CDN • אירוח ו- Steaming של וידאו ואודיו • “Smooth HD” מבית Microsoft /Akamai • אירוח תמונות וקבצים סטטים בלבד • אירוח קבצים משותפים • http://ajax.microsoft.com/ajax/jquery/ • אירוח אתרים מלאים • Akamai, Cotendo וכד' • מאפשרים הגדרות TTL ברמת דף או איזור • מאפשרים SSL Acceleration • לרוב מאפשרים גם ניקוי Cache בדחיפה

  20. זמינות גבוההטופולגיית שרתים • הגדירו מראש את רמת השרידות הנדרשת והמשאבים הנדרשים כדי לגבות אותה • התיחסו ל- Best Practices של מיקרוסופט • העבירו שירותים שונים לשרתים נפרדים • ממולץ לבחון את דפוסי השימוש באתר ולהחליט האם האתר הוא לקריאה בלבד • ודאו שאין נקודות כשל ללא שרידות (No Single Point of Failure) • גם כאן CDNים עוזרים לשמירה על רמת השירות • ניתן לשקול שימוש בענן בתלות במגבלות העסקיות

  21. זמינות גבוההשיפורים ב- SharePoint 2010 • Sandboxed Solutions • מאפשר למנהל המערכת שליטה על המשאבים הנצרכים • הבדלים קטנים בלבד בביצועים מול פתרונות מלאים • איזור הניתור וה-Health Analyzer • מאפשר להגדיר תהליכי ניתור מתקדמים • מאפשר לזהות בעיות מוקדם • Patch Management

  22. סיכום • תכנון נכון של אסטרטגיית הביצועים צריך להעשות בשלב המוקדם ביותר • אסטרטגיית הביצועים צריכה להעשות מול הערכות העומס וקהל היעד וכן מול הדרישות העסקיות • אתרי SharePoint 2010 יכולים להיות מהירים במיוחד, אפילו בעומסים גבוהים • כמה דברים שאפשר לעשות כבר היום: • הורדת שירותים מיותרים והעברת שירותים לשרתים אחרים • איחוד של קבצי JS ו-CSS • העברת קבצים נלווים לשירותי CDN

  23. תודה שצפיתם • שאלות והערות יתקבלו בברכה • nirl@realcommerce.co.il • http://www.realcommerce.co.il

More Related