النتائج 1 إلى 8 من 8

الموضوع: جعل موقعك أسرع 200%

  1. #1
    عضو نشيط
    تاريخ التسجيل
    May 2008
    المشاركات
    235

    جعل موقعك أسرع 200%



    السلام عليكم،
    سأحاول إنشاء الله كلما ما استفدت من شيء وضعه في سوالف ليس لحبي لسوالف بل لمساعدة الويب الماسترز العرب إنشاء الله. وأتمنى من الجميع اللي بيتعلم شي جميل و مفيد ما يبخل على إخوانه، فمعلوماتك التي تتضعها صدقة جارية بإذن الله.

    اليوم سأتكلم عن طريقتين تؤدي لنفس النتيجة لتسريع الموقع و تقليل الترافيك بشكل كبير.
    الطريقة الأولى:
    وضع هذا الدالة في رأس الصفحة قبل أي شيء
    كود:
    <?php
    function isBuggyIe() {
        $ua = $_SERVER['HTTP_USER_AGENT'];
        // quick escape for non-IEs
        if (0 !== strpos($ua, 'Mozilla/4.0 (compatible; MSIE ')
            || false !== strpos($ua, 'Opera')) {
            return false;
        }
        // no regex = faaast
        $version = (float)substr($ua, 30); 
        return (
            $version < 6
            || ($version == 6  && false === strpos($ua, 'SV1'))
        );
    }
    
    // usage:
    isBuggyIe() || ob_start("ob_gzhandler");
    ?>
    وظيفة هذه الدالة هي تقديم الموقع مضغوط للمتصفحات التي تقبل gzip، فتوفر ترافيك و تعطي سرعة ملحوظة
    ولكن ليس كل الملفات php فكيف أسرع الملفات الأخرى؟
    مثال لدينا script.js فنكتبها مثلا <script type="text/javascript" src="js/myscript.js.php"></script>
    ونضع الدالة في رأس الصفحة كذلك. وتعمل بشكل طبيعي.

    الطريقة الثانية و هي الأفضل:
    نذهب إلى 7-Zip و ننزل البرنامج الشكل قد لا يعجبك لكنه فعال.
    بعدها أختار الملفات التي أريد ضغطها، و أضغطها على ال maximun بصيغة gzip، صيغة gzip هي لضغط ملفات الويب و ليس للجهاز.
    فتصبح عندنا الملفات بالشكل التالي:
    index.php.gz
    style.css.gz
    script.js.gz
    مساحتها أقل و ستلاحظ حجم الصفحة
    ثم نرفعها على السيرفر إلى جانب الملفات القديمة.
    بعدها سنطلب عبر ال htaccess أن يحول مثلا عند طلب index.php إلى الصيغة المضفوطة index.php.gz
    عبر الطريقة التالية

    كود:
    RewriteBase /
    RewriteCond %{HTTP:Accept-Encoding} .*gzip.*
    RewriteRule ^js/(.*)\.js$ /js/$1.js.gz [L]
    RewriteRule ^css/(.*)\.css$ /css/$1.css.gz [L]
    AddEncoding x-gzip text.gz
    RewriteCond %{HTTP:Accept-Encoding} .*gzip.*
    هذا يفحص إذا كان المتصفح يدعم صيغة gzip و هي متوفرة في أغلب المتصفحات الحديثة.
    إذا لم يتوفر الشرط لا يحول إلى index.php.gz لذا مهم أن تبقي index.php بنفس المجلد.


    RewriteRule ^jsfolder/(.*)\.js$ /js/$1.js.gz [L]
    هنا يحول مثلاً أي ملف جافا سكريبت موجود في مجلد jsfolder إلى ملفات الجافا سكريبت المضغوطة في نفس المجلد


    ما الفرق بين الطريقة الأولى و الثانية؟
    الأولى تتطلب موارد أكثر من السيرفر أي يجب أن يكون السيرفر يتحمل لأنه يضغط الملفات ثم يقدمها، لذا أنصح بإستعمالها في الملفات التي لا تزار بشكل كبير او عليها ضغط.

    الطريقة الثانية تكلف موارد قليلة جداً لل htaccess و يكون الملف مضغوط جاهز.

    إنتهينا الآن، كيف يمكننا أن نفحص إذا تم الضغط فعلا و نجحت العملية ؟
    ندخل هنا ونضع الرابط هنا GIDZipTest: Web Page Compression (Deflate / Gzip) Test - GIDNetwork و نشوف ما النتيجة و كم قلت مساحة الصفحة بتفصيل أكثر
    أو ببساطة عبر الفايرفوكس لاحظ أنني ضغط رابط هذه الصفحة http://www.arabic-keyboard.org/arabic-typing-test/
    وفرقت المساحة ب 65% ، و هذا ليس بشيء قليل .
    كما أني استعمل هذه الطريقة لضغط منصات جافا سكريبت ك mootools و jquery وغيرها، بعد أن أضغطها ب packer إذا امكن . فلا يعود لدي مشكلة لا بالترافيك و لا بالسرعة.
    ولا تنسى أنه يجب أن تكون مكتبة gzip deflate متوفرة على السيرفر، وهي موجودة معظم الأحيان
    الصورة بالمرفقات توضح
    والله أعلم





    الصور المرفقة الصور المرفقة  
    التعديل الأخير تم بواسطة amiraldo1 ; 18-01-2009 الساعة 07:18 PM


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    164


    الصراحة طريقة رائعة
    تنفي الشك في هذا المجال .. بما أنني كنت متخوف من الضغط .
    يعني بسبب الخوف من عدم الدعم .

    شكراً لك





    __________________
    مدونة شخصية: عمر الدليمي
    راسلني
    أنصح بإستخدام "أوبونتو"



  3. شكرا لك يا أميرالدوا ، لمن يريد ان يستزيد فى مجال ال performance فعليه بكتاب O'Reilly High perofrmance websites من تأليف steve souders
    High Performance Web Sites | O'Reilly Media






    __________________
    Keepondev | مدونه شديد التخصص فى الجافاسكربت
    جافاسكربت الموجهه بالكائنات | أنماط تصميم جافاسكربت



  4. جزاك الله الف خير يااميرالدوا على هذه الاضافه ...
    كذلك لا انسى اخونا Dezology على الكتاب القيّم ...
    اتمنى من الأخوه طرح مثل هذه المواضييع لانه ليس الجميع من يتقن اللغه الإنجليزيه ..
    بارك الله فيكم وجعلها في ميزان حسناتكم






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    553


    شكراً





    __________________
    اللهم اغفر لي الذنوب التي تهتك العصم
    اللهم اغفر لي الذنوب التي تنزل النقم
    اللهم اغفر لي الذنوب التي تغير النعم
    اللهم اغفر لي الذنوب التي تحبس الدعاء
    اللهم اغفر لي الذنوب التي تنزل البلاء .

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    135


    بارك الله فيك
    موضوع مفيد






  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,105


    جزاك الله كل خير





    __________________
    للتواصل p2006q#gmail.com

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2007
    المشاركات
    674


    بصراحة معلومة جديدة بالنسبة لي
    شكراً لكـ وجعله في ميزان حسناتكـ





    __________________
    Professional Java?Script Programmer and Web Developer





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض