הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

 
 
כלים לאשכול תצורת הצגה
Prev הודעה קודמת   הודעה הבאה Next
ישן 10-01-15, 17:05   # 1
DCaptain
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Apr 2012
מיקום: מרכז
הודעות: 134
Send a message via Skype™ to DCaptain

DCaptain לא מחובר  

בעיות עם Scalability ומחשבים חלשים

היי.

אני אשמח לקבל ייעוץ לגבי בעיה חמורה שאני חווה בעת שימוש בAngular.
כיוון שהשרת שלי כבר לא מעורב יותר בrender של התוכן, ומהווה רק ככלי תקשורת API בין הclient למסד הנתונים, כל העומס של עיבוד הנתונים עובר ללקוח.

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

הבעיה היא בעיקר העומס שהולך למעבד עם כמות סקריפטים מטורפת (23 סקריפטים נפרדים, מאוד ארוכים), 19 styles, שרת db עם המון המון התפצלויות (אתר -> שפה עם הגדרות מיוחדות שנשלפות מטבלה אחרת -> עמוד -> שדות עריכה -> תוכן שדות ||| פריטים שנמצאים בתוך אותו עמוד -> שדות עריכה לכל פריט -> תוכן כל שדה לכל פריט).

יש מסחר אלקטרוני ומלאי ומיליון ואחד פונקציות ואפשרויות.

אני מודע לכך שבmongodb היה אפשר לתכנן את צורת אחסון המידע בצורה הרבה יותר חכמה, אך שורש המערכת (במיוחד המסד) נבנה לפני 10 שנים. אני רק משדרג את מה שאני יכול לרמה מודרנית ונוחה בעזרת שכתוב של ליבת המערכת כמעט בלי לגעת במסד. אין אפשרות לשנות את המסד, אלפי לקוחות משתמשים בזה בproduction environment.

וכאן נמצאת הבעיה הרצינית. במחשב Macbook Pro 15' החדש עם 4 ליבות כמובן הכל רץ כמו טיל. אבל כשאני בודק את זה במחשב חלש מאוד, זה כמעט לא זז. 8 שניות לטעינה של עמוד, 4 שניות כל scope change.

אני משתמש בMySQL Joins, בשרת ב-Pagespeed ו-gzip דרך Nginx, סביבת פיתוח Codengine (http://www.codengine.net/).

שרת Ubuntu גרסא אחרונה עם php 5.6.

אני שקלתי להתחיל לעבוד עם memcache, ואני חושב שזה יהיה בזבוז זמן יקר (רוב התוכן מאוד דינמי ומשתנה בתדירות גבוהה מדי..).
אני עובד באנגיולר עם bindonce איפה שאפשר (one way binding בשביל לחסוך ב-watchers), לא משתמש כמעט אף פעם ב-$watch - תמיד בng-change. מעדכן מודלים עם delay ביניהם, אני עושה מיניפיקציה של כל תוכן הhtml שהphp מדפיס (עם ob_start).

האם דרך הפתרון היחידה היא להעביר את עיבוד הנתונים לשרת? (במקום לשלוח לscope תכנים מהשרת כ-api ולתת למשתמש להריץ הכל, לתת לשרת כבר לעשות את הexecution ולשלוח למשתמש את התוצאה - old school)

אני כבר נפטרתי מהשגיאה שהייתה קודם לאותם מחשבים ישנים (an unresponsive script) בעזרת צמצום משאבים נרחב והגעתי לתוצאה של טעינה ארוכה.

זה מאוד מתסכל המחשבים של פעם
__________________
דניאל גולוב.
  Reply With Quote
 

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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