@אבי-203 לפני שאתה משקיע בחסכון של הבקשה של המוצרים, תבדוק בנטוורק כמה זמן לוקחת הבקשה הזו, 40 מוצרים לא אמור לקחת הרבה זמן גם עם פניה למסד נתונים, אם זה לוקח הרבה זמן אז תתחיל לחשוב איך לקצר את הזמן הזה.
מהירות טעינה של דף נמדדת לפי התחושה של המשתמש, לא מהירות אמיתית, הדבר הראשון שהמשתמש רואה זה ה HTML, אחר כך הסקריפטים נטענים ואחר כך AJAX לשרת, צריך לדאוג שבטעינה הראשונה של ה HTML כבר רואים דף מעוצב ומלא פרטים כדי שהמשתמש לא יבהה בדף ריק.
כמובן תדאג להציג חיווי טעינה ידידותי, עדיפות לאנימציה פעילה ומהירה שנותנת תחושה שהדף פועל במרץ ולא עובד בנחת.
במקום לבקש בכל עמוד קטגוריה, את כל הפריטים עם סינון, אני שומר אותם בדפדפן (session או memory), ואז משבץ אותם. (עשיתי בדיקה, לקבל את memory השמור כבר, ולפרק אותו עם Json ולשבץ, לא ראיתי שזה ממהר את הטעינה. אולי אפילו להיפך.) (יש לזה גם מינוס שמוגבלת כמות הזיכרון, לבנתיים מספיק למה שיש)
שמירת מידע וחישובים בדפדפן אמורים להיות מהירים יותר מפניה לשרת וחישובים על השרת, אם זה לא ממהר את הטעינה כנראה שהבעיה לא נמצאת שם. (שמירה בסשן מיותרת כי זה עובר גם בתעבורה לשרת, שמירה באחסון המקומי לכאורה עדיפה)