צוואר בקבוק של מערכת תוכן הוא בסיס נתונים, האומנם?

ב־יום רביעי, 31 באוקטובר 2007, מאת ארתיום; פורסם תחת: תכנה חופשית, אינטרנט, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏11 תגובות

עודכן 02/11/2007.

לאחר סדרת הפוסטים בנושא ביצועים (כתיבה ב-++C, וורדפרס, מדידות) הכנתי חומר שמסכם את נושא הביצועים ומביא סדרת מדידות שמכינות בסיס קצת יותר מוצק לכל הנאמר וממחישות שלא כל מה שמקובל לחשוב עליו כבעיית הביצועים היא באמת בעיה. בנוסף, כנראה גם אני נפלתי לאותה המלכודת כשהתייחסתי לבסיסי נתונים בצורה לא לגמרי נכונה.

המשך...

ביצועים של מערכת תוכן... מה נדרש באמת.

ב־יום שלישי, 30 באוקטובר 2007, מאת ארתיום; פורסם תחת: אינטרנט, פיתוח, תכנה ומחשבים, WordPress בעברית; ‏0 תגובות

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

התשובה הנאיבית היא: אם אני מצפה 5000 ביקורים בשעה, אז היא צריכה לעמוד בכ-1.4 שאילתות בשניה. אבל התשובה הזו מטעה. הרי לא כולם מבקרים בצורה אחידה. בהחלט יכול לקרות שבאותה שניה כעשרה מבקרים ינסו לגשת לאותו הדף ו... לקבל זמן תגובה בלתי סביר. מצד שני, אם 1000 מבקרים ילחצו על אותו הקישור באותו רגע אז סביר להניח שגם מערכות תוכן חזקות במיוחד לא יעמדו בעומס. אפילו שההסתברו שזה יקרה היא מאוד נמוכה צריך לקחת אותה בחשבון. לכן, אנחנו צריכים להתבונן במספר פרמטרים:

  • מספר המבקרים המצופה בפרק זמן מסויים.
  • מה האי זמינות (downtime) הגבוהה ביותר שאנחנו יכולים להרשות לעצמנו עבור האתר. למשל, אני רוצה שלכל היותר במשך 30 שניות מקסימום במהלך אותו פרק זמן לא יהיו עיכובים.
המשך...

תגובה ל"אופטימיזצית זמן טעינה"

ב־יום שני, 29 באוקטובר 2007, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, WordPress בעברית; ‏0 תגובות

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

המשך...

פיתוח Web בשפת ++C? למה, מדוע, כיצד?

ב־יום חמישי, 25 באוקטובר 2007, מאת ארתיום; פורסם תחת: תכנה חופשית, לינוקס, פיתוח, תכנה ומחשבים, CppCMS; ‏11 תגובות

מי שמכיר אותי מהפורומים השונים יודע טוב שאני רחוק מלהיות חסיד של שפות תסריטים כגון php, perl, python או שפות jit כמו C#, Java וחבריהן. אז חיפשתי framework נוח לפיתוח web עם C++/C. הסיבה העיקרית היא -- ביצועים, מערכות תוכן של היום הכתובים ב-php או שפות תסריטים אחרות הנשענות על פתרונות LAMP סטנדרטיים מספקות ביצועים נמוכים שלא מתאימים לאתרים עמוסים. התפתח דיון מעניין בנושא עם מאיר. שהטענות העיקריות היו:

  • צוואר בקבוק העיקרי הוא בסיס נתונים ולא שפת תכנות.
  • גם עם עושים caching ועובדים עם FastCGI יעיל נשארת בעיית concurrency ו-scalability.
  • זמן פיתוח הוא גם יקר, לכן C++/C הן לא השפות המועדפות במקרים אלו.

אז החלטתי לשבור את המוסכנות האלו ולהוכיח שניתן לבנות מערכת תוכן/framework בעל מאפניינים הבאים:

  1. מאפשרים פיתוח יחסית מהיר וקל.
  2. מספק ביצועים מעולים שמערכות תוכן קלאסיות היו דורשות פתרונות scaling במקרים אלו.
  3. מספק כלים ל-scaling פשוטים ושקופים במקרה הצורך.
המשך...

הבלוג עבר שרת

ב־יום ראשון, 14 באוקטובר 2007, מאת ארתיום; פורסם תחת: כללי, לינוקס, תכנה ומחשבים, הכל מלבד מחשבים, WordPress בעברית; ‏5 תגובות

הבלוג עבר בית יחד איתי וגם שרת. אם יהיו בעיות כלשהן, אנא דווחו.

עריכה:

למעשה, עברתי מ-ADSL לכבלים, כך שמהירות העלאה השתפרה משמעותית 64K/s, תמורת מחיר די נמוך. בנוסף, המערכת כרגע רצה בשרת וירטואלי -- linux-vserver שרץ על מחשב ביתי רגיל, במקום הקצאת שרת ייעודי, הכל כפי שתיארתי פעם כאן וכאן. חייב לציין שאני מופתע לטובה משיפור מהירות האתר לאחר שדרוג התשתית האינטרנט וחומרה.

בנוסף, אני הייתי ממליץ לכל אחד שמריץ שרת ביתי, להפעיל mod_deflate של Apache2 שמקטין משמעותית  את הצורך ברוחב הפס ע"י דחיסת התוכן.

העמוד הקודם

העמוד הבא

דפים

נושאים