הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
מאמרים בנושא תכנה ומחשבים.
רגע האמת... האם C++ באמת נתן יתרון בתחום Web?
אחרי כמעט חצי שנה של פיתוח תשתית C++ לפיתוח מערכות התוכן, אני מתקדם לגרסת בטא הראשונה. למעשה כל הרכיבים שתכננתי עבורה מוכנים והדבר היחיד שעוצר אותי בפני הכרזה על גרסת הבטא הראשונה זה חוסר תיעוד שעדיין אני צריך להכין.
המטרה של הפרויקט הייתה ליצור תשתית לפיתוח יעיל ומהיר ל־Web ב־C++ -- שפה שלא נפוצה בתחום זה, על מנת לקבל ביצועים יוצאים מן הכלל. בדרך גם למדתי הרבה על תשתיות דומות אחרות ועכשיו הכנתי השוואה ביצועים בין שתי מערכות:
- מערכת בלוגים פופולרית WordPress בעברית
- הבלוג שכתוב על בסיס CppCMS -- למעשה הבלוג הזה.
WordPress נבחרה בגלל ההכרות המצוינת שלי אתה ויכול להוציא ממנה את מירב הביצועים האפשריים שניתן לקבל בעזרת שפות תכנות דינמיות טיפוסיות כמו PHP.
המערכות הוגדרו ככה:
- שרת אינטרנט lighttpd 1.4.13
- ממשק שרת FastCGI
- PHP גרסה 5.2.
- Opcode Cache של PHP נעשה ע"י XCache 1.2.1
- בסיס הנתונים MySQL 5.0.
- תוסף caching עבור WordPress: WP-Cache-2 עם הטלאי שלי שמשפר את הביצועים שלו בעוד כ־60%.
- מערכת CppCMS עם ניהול ה־cache בזיכרון.
- חומרה: AMD Athlon XP 3000+ 64bit, 1G RAM
- מערכת הפעלה: Debian Etch 64 bit.
טלאי ל־WP-Cache-2
בקרוב אני הולך לבצע סדרה כבדה של השוואות ביצועים בין WordPress -- המערכת שאני מכיר אותה טוב על כל בעיותיה מול המערכת שבניתי על בסיס CppCMS.
מערכת ה־cache שפיתחתי עבור CppCMS היא די חכמה, היא שומרת כל דף בשני עותקים: אחד HTML המקורי והשני אותו דף דחוס עם gzip. זה מאפשר לשלוף דפים בצורה מאוד מהירה ולהעביר אותן לשרת בלי לבצע דחיסה מחדש.
מאחר ואני רוצה לבצע השוואה הוגנת, בדקתי את התוסף WP-Cache-2 שמאיץ את WordPress בצורה משמעותית וגילית שהוא שומר את הדפים רק כ־HTML ולכן, בכל פעם כשהדף נשלף מזיכרון מטמון הוא עדיין עובר דחיסה ע"י PHP או Apache. וזה גוזל הרבה משאבים.
כתבתי טלאי עבור התוסף ששומר כל דף בשני עותקים: מקורי ודחוס ומחזיר את הסוג הנדרש לפי בקשת הלקוח. הטלאי שיפר את הביצועים בכ־60%: עם התוסף המקורי WP היה מסוגל לספק כ־450 שאילתות בשנייה, אחרי הטלאי המספר הזה עלה לכ־720.
נ.ב.: בדיקות ביצועים של CppCMS יבואו בקרוב.
טיפים לבעלי "אתרים ביתיים"
החזקת אתר אינטרנט בבית מאוד נוחה: היא פותחת מגוון רחב של אפשרויות, גישות לכל טכנולוגיות אפשריות ללא מגבלות הספק וכל זה במחיר מאוד נמוך. אבל, גם לפתרון הזה יש חסרון משמעותי --- רוחב הפס.
רבים, שמעלים אתר אינטרנט בבית ואפילו מחזיקים אותו הרבה שנים כמו שלומי ישראל, לא מועדים בעיה העיקרית: אטיות של אתרים כאלה. העניין הוא שהבעיות האלו ניתנות לפתרון יחסית בקלות. ובכן נתחיל.
המשך...התעוררות מסביב ל־BiDiTeX?
בימים אחרונים הרגשתי התעוררות מסוימת מסביב ל־BiDiTeX. גם כמות ההורדות של הגרסה האחרונה הגיע ל־20. אני יודע שזה לא הרבה בממדי תוכנה אבל עדיין זה כ־20% מהורדות של culmus-latex שנותן תמיכה בעברית בכלל. לאחרונה, אפילו קיבלתי בקשה לנסות ולהכניס את החבילה למאגרים הרשמיים של Debian.
אני התחלתי את הפרויקט קצת לפני יותר משנה וממשיך לבצע עדכונים מעת לעת, כדי לפתור בעיות קטנות שאני מגלה. התכנה הקטנה הזו, משמשת אותי כל הזמן לכתיבת מסמכים לא כל־כך קצרים בעברית ועוזרת לי המון. למעשה, מבחינתי בלעדיה, LaTeX ועברית לא היום קיימים ביחד.
עם כל זה, מה שמאוד חסר לי זה משוב מהמשתמשים:
- באילו בעיות הם נתקלים? מה חסר להם?
- היכן ניתן לשפר את התיעוד?
- אולי הצעות מועילות מה אפשר להוסיף.
כמובן, שאני לא מבטיח שאענה על כל הבקשות ודרישות, אבל אני בהחלט אשמח לעשות קצת יותר בכל הנוגע לשיפור של מצבה של עברית ב־LaTeX.
על Trackback, Pingback ועל API (הלא כל־כך) ידידותי
אם אתם לא שמתם לב, הוספתי תמיכה בטראקבק לבלוג שלי. חייב להגיד, שהמשימה לא הייתה פשוטה.
בהתחלה דווקא רציתי לממש את פינגבק שלפי דברי ויקיפדיה פחות בעייתי מבחינת spam וגם קראתי את הכתבה המשבחת את מנגנן הפינגבק ומבקרת את מנגנון הטראקבק.
אז בהתחלה החלטתי ליישם את הראשון. התחלתי לקרוא את הספציפיקציות
וכאן מתחיל הסיפור
המשך...