![]() |
# 8 |
עסק רשום [?]
|
אחזור על חלק מהדברים שאמרו ולא הבנת, אחדד גם כמה דברים נוספים.
1. ttfb זה ראשי תיבות של Time To First Byte, בעברית פשוטה - כמה זמן עבר מאז שהדפדפן שלח את הבקשה ועד שהוא התחיל לקבל מידע מהשרת. הגורמים שמשפיעים על הנתון הזה הם בין היתר שאילתות DNS, הזמן שלוקח לבקשה להגיע בכלל לשרת, עיבוד הבקשה בשרת (התחברות ושאילתות למסד, הרצת הקוד וכו'), החזרת התשובה אלייך. כדי לשפר את הנתון הזה, בשורה זה יהיה בלתי אפשרי להסביר את זה אבל תתמקד על כל אחד מהגורמים שציינתי למעלה ותראה איך אפשר לשפר אותם (ואפשר הרבה, במיוחד בחלק של עיבוד הבקשה שעליו אפרט בהמשך). 2. Expire בעצם מודיע לדפדפן לשמור קובץ מסויים אצלו בזכרון המטמון המקומי ולגשת אליו משם, כל עוד לא עבר X זמן מאז ההורדה האחרונה או כל עוד הוא לא השתנה (תלוי איך בדיוק ממששים את זה). עושים את זה בעיקר לקבצים סטטים שלא משתנים יותר מדי או בכלל (תמונות, קבצי CSS, קבצי JS וכו'), במקום שבכל בקשה הדפדפן יוריד את הקבצים האלו שוב, הוא שולף אותם מהזכרון שלו וככה חוסך בקשות, זמן ותעבורה מיותרת. (חשוב מאוד!) 3. Keep-Alive על קצה המזלג זה הגדרה שניתן בעזרתה להגדיר שבמקום שעבור כל בקשה תיווצר בקשה ותיסגר בסופה, ניתן להשתמש בבקשה קיימת כמה פעמים וככה לחסוך את כל התהליך של היצירה והסגירה של המון בקשות. לא אפרט יותר מדי כי אז כבר אכנס איתך להסבר על הפרוקוטול TCP/IP, רק תבין את הרעיון. 4. אתה לא צריך למחוק את האנליטיקס, רק תשים אותו (ואת כל ה- JS שיש לך באתר) בסוף העמוד. כשהדפדפן מקבל את המידע מהשרת ומעבד אותו, הוא מבצע תהליך שניקרא "רינדור" שבו בעצם הוא יוצר את העמוד הויזואלי שאתה רואה על פי הקוד. כשהוא מגיע לקוד JS, הוא לא יכול במקביל להמשיך לעבד את העמוד אז הוא עוצר את התהליך, מעבד את ה- JS ורק לאחר מכן ממשיך, ככה נוצר מצב שזה כביכול "תוקע" את זה. כדי להימנע מהמצב הזה, אתה שם את ה- JS בסוף (לפני סגירת ה- body לדוג') אחרי שרוב הקוד כבר נטען ועובד, וככה מצמצם את ההשפעה של זה. 5. כבר אמרו לך שיש לך יותר מדי תמונות, לשמור תמונות בגודל שבו הן מוצגות, שהקידוד גרוע וכו', זה די ברור אין מה להרחיב בנושא לדעתי. 6. אוכל להמליץ גם להפריד את כל התוכן הסטטי (בעיקר תמונות, קבצי עיצוב וקבצי JS) לסאב-דומיין נפרד, לבצע הפרדה שתיצור מה שנקרא cookie-free domain. כשהתוכן הסטטי נמצא על אותו דומיין של קבצי ה- PHP לצורך העניין, כל העוגיות שאתה יוצר ומשתמש בהן במערכת מועברות גם בכל בקשה של כל התוכן הסטטי, זה כמובן מיותר, אז כשאתה מפריד את התוכן הסטטי לדומיין נפרד (ובאמת מוודא שהעוגיות תקפות לדומיין הראשי בלבד) אתה חוסך את הזמן והתעבורה המיותרים האלו, דבר נוסף הוא שקיימת הגבלה למס' החיבורים שהדפדפן יכול ליצור לכל hostname/server בזמן נתון, כשאתה מחלק את הקבצים בין דומיינים שונים אתה יכול לצמצם את צוואר הבקבוק שיווצר במידה ויש לך המון בקשות לבצע, באתרים קטנים זה לא קריטי, באתרים שלא עושים שימוש רחב מדי בעוגיות ולא שומרים בהן יותר מדי מידע זה גם לא קריטי, אבל רצוי להכיר את זה. 7. עניין חשוב מאוד נוסף שאנחנו לא יכולים לבדוק כרגע זה יעילות ברמת המערכת עצמה והשירותים שאיתם היא מתממשקת (ה- PHP, מסד הנתונים, שרת ה- WEB וכו') על הנושא הזה קיימים ספרים שלמים, בסעיף אחד אי אפשר להסביר לך יותר מדי אבל ההשפעה והחשיבות של קוד יעיל והגדרות נכונות ומתאימות די ברורות אני מניח (חלקן גם צויינו למעלה). יש עוד המון מקומות שניתנים לשיפור, בתגובה זה ממש לא המקום ללמוד את כולם, אפשר אולי רק להכיר קצת את חלקם. חלק לא קטן ולא פחות חשוב כנראה גם לא ממש בשליטתך, אתה צריך קצת יותר מגישה למשתמש ברמת User ב- DA כדי לשלוט על הדברים האלו. כמו שאמרנו יש ספרים, קורסים והמון חומרי לימוד בנושא - לסכם הכל בכמה סעיפים זה לא ריאלי. קיבלת כמה המלצות, למה לשים לב, מה לשפר, מה חשוב - תתחיל עם זה ונראה מה יהיה. Last edited by אדיר; 10-12-11 at 00:34.. |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|