یکی از مهمترین جنبه های سایت شما سرعت بارگذاری آن است. کاربران می خواهند فوراً یک عکس بدون هیچ ترمزی دریافت کنند و اگر نتوانید این را به آنها بدهید، برای مدت طولانی در جستجوی اطلاعات در جای دیگر تردید نخواهند کرد. در این مقاله به 5 روش می پردازیم که به شما امکان می دهد زمان بارگذاری سایت خود را سرعت بخشید.
1. از YSlow برای پیگیری زمان بارگذاری صفحه استفاده کنید
با دانستن مدت زمان بارگذاری صفحات، می توانید مناطق مشکل را شناسایی کنید. همچنین به شما انگیزه دیگری می دهد تا وارد عملکرد شوید و سعی کنید وضعیت را اصلاح کنید.
قبل از شروع، شما باید YSlow را نصب کنید، اگر قبلاً نصب نکرده اید. YSlow یک پسوند برای است موزیلا فایرفاکسکه می توانید در این صفحه پیدا کنید:
حالا بیایید یک سایت باز کنیم. فرض کنید Six Revisions، به طوری که تقریباً همان داده ها را داشته باشیم (فقط این سایت را در یک برگه جدید مرورگر خود باز کنید).
در سمت راست پایین مرورگر خود، یک پانل ویژه با یک نماد دارید (شکل 1 را ببینید). کمی دورتر از این پنل، پس از بارگیری صفحه، در کنار «YSlow» یک عدد خواهید دید. این عدد زمان بارگیری این صفحه در مرورگر شما بر حسب ثانیه است. ما می خواهیم این تعداد تا حد امکان کوچک باشد.
رایج ترین "ترمزها" اشیاء یا عملیات زیر هستند:
- درخواست های HTTP بسیار زیاد است
- فایل های جاوا اسکریپت فشرده نشده
- بدون زمان انقضای هدر برای فایل های گرافیکی
تا چند دقیقه دیگر به این موضوع نگاه دقیق تری خواهیم داشت.
برای اینکه با این سیستم راحت شوید، چندین سایت را مرور کنید و زمان بارگذاری آنها را بررسی کنید. میتوانید گوگل، فیسبوک و چند وبلاگ/وبسایت مورد علاقه خود را که بیشتر بازدید میکنید، آزمایش کنید. توجه داشته باشید که فایل ها و تصاویر جاوا اسکریپت بیشترین تاثیر را روی سرعت دارند.
ما از YSlow به طور کامل استفاده می کنیم
علاوه بر محاسبه YSlow زمان بارگذاری صفحه، پسوند داده شدههمچنین اطلاعات گسترده ای را در مورد مواردی که برای بهینه سازی بارگذاری سایت خود باید اصلاح کنید در اختیار شما قرار می دهد تا بتوانید حفره ها را اصلاح کنید.
برای چنین اطلاعاتی، روی تب Performance کلیک کنید. پس از خزیدن در سایت، YSlow یک امتیاز کلی به شما می دهد که عملکرد صفحه شما را مشخص می کند.
دسترسی به اطلاعات را می توان با استفاده از CDN (شبکه تحویل محتوا) تسریع کرد. CDN بهتر است برای سایت های بزرگ استفاده شود. آنها برای توزیع اطلاعات در چندین سرور در داخل استفاده می شوند بخش های مختلفصلح به این ترتیب اطلاعات از سرور مربوطه (که نزدیک ترین به کاربر است) دانلود می شود تا از طریق روترهای شخصی عبور نکند. YSlow همچنین درخواست های CDN را ردیابی می کند.
اما مردم معمولاً از CDN ها استفاده نمی کنند (که بسیار گران است).
طبقه بندی انواع خطا
حال اجازه دهید هر موردی را که در پسوند ذکر شده در بالا وجود دارد مرور کنیم. در زیر خلاصه ای از نحوه قضاوت صفحات شما و نحوه برخورد با مشکلات برای دستیابی به حداکثر کارایی را مشاهده خواهید کرد.
تا حد امکان درخواست HTTP را کمتر کنید: درخواست HTTP زمانی رخ می دهد که مرورگر درخواستی را به سرور ارسال کند. همین امر می تواند هنگام اتصال اسکریپت ها، فایل های CSS، تصاویر، و همچنین با درخواست های ناهمزمان، هم از سمت مشتری و هم از سمت سرور (Ajax و سایر فناوری های مشابه) اتفاق بیفتد. با این حال، هنگامی که صحبت از عملکرد سیستم می شود، ارزش آن را دارد که چقدر آن را در نظر بگیرید درخواست های مشابهدر صفحه شما اتفاق می افتد یکی از راه حل ها استفاده از کش برای کمک به ماشین های سرویس گیرنده برای بارگذاری سریعتر اسکریپت ها، CSS و تصاویر است.
افزودن سرصفحه های منقضی: 80 درصد بارگذاری صفحه بر دانلود اسکریپت ها، عکس ها و فایل های CSS متمرکز است. در بیشتر موارد، این موارد در ماشین های کاربر تغییر نمی کنند. با افزودن مقداری کد به فایل htaccess خود، میتوانید فایلهای تکراری را در دستگاه محلی کاربر ذخیره کنید (در ادامه در مورد نحوه انجام این کار صحبت خواهیم کرد).
اجزای Gzip: Gzip را اعمال کنید یا فایلهای JS، تصاویر را فشرده کنید. اسناد HTML، فایل های CSS و غیره به کاربران این امکان را می دهد تا اطلاعات را با حجم کم دانلود کنند که سرعت بارگذاری صفحه را به میزان قابل توجهی افزایش می دهد. علاوه بر این، این کار باعث صرفه جویی در فضا در سرور می شود، با این حال، باز کردن داده ها می تواند پاسخ را کاهش دهد و مستقیماً به مرورگر کاربر بستگی دارد.
قرار دادن CSS در بالای صفحه: اگر اتصال CSS خود را در بالای صفحه قرار دهید، به این معنی است که ابتدا آنها بارگذاری می شوند و تصاویر و اسکریپت ها بعدا.
JS خود را در پایین صفحه قرار دهید: اکنون که فایل های CSS شما در بالای صفحه بارگذاری می شوند، زمان آن رسیده است که اسکریپت های JS خود را درست قبل از تگ بسته شدن قرار دهید. این به صفحه شما اجازه می دهد تا رندر شود و سپس اسکریپت های لازم را شامل شود.
اجتناب از عبارات CSS: من شخصاً هرگز از عبارات CSS (که به آن ویژگی های پویا نیز گفته می شود) استفاده نکرده ام. این عبارات مفاهیم برنامه نویسی بومی اینترنت اکسپلورر (مانند عبارات شرطی) در CSS هستند. فناوری ای که در IE8 و در تمامی نسخه های دیگر استفاده می شود، دیگر پشتیبانی نخواهد شد، بنابراین در هر صورت باید با این نوشتن عبارات CSS گره بخورید. PHP برای چنین مقاصدی مناسب تر است، به عنوان مثال، برای بارگیری سبک های مختلف CSS بسته به شرایطی مانند یک عدد تصادفی، زمان روز یا مرورگر کاربر.
JS و CSS را در فایل های جداگانه بنویسید: اگر اسکریپت های خود را در JS و قرار دهید سبک های cssدر فایلهای جداگانه، مرورگر به راحتی میتواند آنها را در حافظه پنهان ذخیره کند، در نتیجه به صفحه شما اجازه میدهد در آینده سریعتر بارگذاری شود.
کاهش زمان جستجوی DNS: زمانی که کاربر نام سایت شما را در نوار مرورگر تایپ می کند، جستجوی DNS آدرس IP که سایت شما در آن قرار دارد بلافاصله شروع می شود. هر چه سایت شما دارای منابع خارجی بیشتری باشد، جستجوی DNS زمان بیشتری می برد. به عنوان یک قاعده، یک چنین جستجو 60-100 میلی ثانیه طول می کشد.
Minify JS: علاوه بر فشرده سازی با gzip، کوچک کردن فایل های جاوا اسکریپت به شما این امکان را می دهد که اسکریپت های خود را با خلاص شدن از شر فضاهای غیر ضروری، برگه ها و سایر کاراکترهای خاص که به اندازه فایل های بزرگ می شوند، سبک کنید. واضح است - هر چه فایل ها کوچکتر باشند، صفحات سریعتر بارگذاری می شوند. می توانید از ابزار JSMIN برای کوچک کردن فایل های جاوا اسکریپت استفاده کنید.
اجتناب از تغییر مسیر: فرقی نمیکند که تغییر مسیر را کجا انجام دهید، در JS، HTML یا PHP. در هر صورت، مرورگر شما یک هدر صفحه خالی دریافت می کند که بارگذاری آن زمان می برد. بنابراین فقط سعی کنید از تغییر مسیر در جایی که بتوان از آن اجتناب کرد استفاده نکنید.
اجتناب از بارگیری اسکریپت تکراری: اگر مرورگر شما یک اسکریپت را بیش از یک بار بارگذاری کند، به طور قابل توجهی بر بارگذاری صفحه تأثیر می گذارد. ریاضی اینجا سخت نیست. هر چه تعداد دانلود فایل های مشابه بیشتر باشد، بیشتر می شود بارگذاری طولانی ترصفحات اسکریپت های خود را مرور کنید و مطمئن شوید که 2 یا 3 بار با jQuery تماس نگیرید. همین امر در مورد اسکریپت های JS نیز صدق می کند.
خوب... فکر می کنم همین کافی است. حالا اجازه دهید قبل از بررسی تکنیک های دیگری که سرعت بارگذاری صفحه شما را افزایش می دهند، به تب بعدی YSlow برویم.
تب Components به شما این امکان را می دهد که تعیین کنید برای بهبود سرعت دانلود خود چقدر باید تلاش کنید. در اینجا اطلاعاتی در مورد وزن هر فایل و همچنین مدت زمان لازم برای دانلود پیدا خواهید کرد. همچنین میتوانید ببینید کدام فایلها در حال زیپ کردن هستند، از زمان پاسخدهی، و اینکه آیا فایلها در دستگاه کاربر ذخیره شدهاند یا خیر، و زمانی که حافظه پنهان به پایان میرسد، پی ببرید. این اطلاعات می تواند برای شما در هنگام ارزیابی مشکلات سایتتان مفید باشد، متوجه خواهید شد که چه مشکلی دارید و چه چیزی باید بهینه شود.
و در نهایت به ادامه مطلب می پردازیم آخرین برگهبرگه آمار. در اینجا اطلاعاتی در مورد تمام درخواستهای HTTP، هم برای فایلهای معمولی و هم برای فایلهای حافظه پنهان پیدا میکنید. مقدار Empty cache نشان می دهد که این فایل ها باید برای رندر صفحه بارگذاری شوند. به نوبه خود، Primed Cache فایل هایی هستند که قبلاً توسط مرورگر کاربر ذخیره شده اند. این بدان معنی است که آنها نیازی به دانلود ندارند.
2. از CSS Sprites برای کاهش درخواست های HTTP استفاده کنید
CSS sprites احتمالاً مهمترین چیزی است که بشر از زمان اختراع الکتریسیته تسلا به آن دست یافته است... من در واقع گفتم که... اوه، منظورم ادیسون بود.
خوب، شاید خیلی جالب ترین نباشد، اما هنوز.
CSS sprites می تواند با کاهش تعداد درخواست های HTTP که برای دانلود تصاویر ارسال می شود، به بهبود سرعت بارگذاری صفحه کمک زیادی کند.
شما میتوانید آموزشهای زیادی را پیدا کنید که در مورد چگونگی پیمایش آسان CSS sprites - به طور کلی، استفاده از آنها در یک رابط کاربری صحبت میکنند.
حالا بیایید نگاهی گذرا به نحوه استفاده یوتیوب از CSS sprites بیندازیم. این چیزی است که sprite استفاده می کنند:
YouTube از این فایل به روشی نسبتاً اصلی استفاده می کند. آنها آن را به عنوان پس زمینه برای کلاس sprite بارگذاری می کنند. هنگامی که انتخاب یک عنصر ضروری می شود، موقعیت اولیه زمانی انتخاب می شود که کمک CSSویژگی های پس زمینه موقعیت و سپس اعمال ارتفاع و عرض.
بیایید چیزی مشابه را امتحان کنیم. بیایید روی همان تصویر از YouTube آزمایش کنیم.
در مثال زیر لوگوی یوتیوب را روی صفحه نمایش می دهیم. با استفاده از همان کلاس sprite، و همان تصویر، میتوانیم تصویری ایجاد کنیم که با ماوس تغییر میکند.
بنابراین، با استفاده از این تصویر، می توانیم تمام اتصالات را به یک درخواست HTTP کاهش دهیم. خوب، چه تاثیری دارد؟
مزیت دیگر جن CSSاین است که هنگام اعمال کلاس :hover pseudo، تصویر برای چند لحظه (که برای بارگذاری یک تصویر جدید طول می کشد) ناپدید نمی شود، همانطور که بدون این اتفاق می افتد. استفاده از CSSجن
3. فایل های CSS را در ابتدا، جاوا اسکریپت را در پایان بارگذاری کنید
برای برخی از سایت ها، کاهش تعداد درخواست های HTTP می تواند عملکرد را از بین ببرد. راه دیگر برای افزایش سرعت بارگذاری صفحه، قرار دادن تمام اتصالات فایل جاوا اسکریپت در انتهای سند است.
همچنین شایان ذکر است:
- فایل های CSS را درست قبل از شروع تگ بدنه در قسمت بارگذاری کنید.
- جاوا اسکریپت را درست قبل از بسته شدن تگ بدنه اضافه کنید.
اگر توصیههای ما را دنبال کنید، به کاربران خود اجازه میدهید تا سایتهای شما را در حالی که جاوا اسکریپت شما در پسزمینه بارگذاری میشود، تحسین کنند.
توجه: اگر نمی خواهید حرکت کنید تگ های جاوا اسکریپت، چون می ترسید که عملکرد افت کند، توصیه می کنم از ویژگی defer استفاده کنید. به این صورت اعمال کنید:
4. Используйте поддомены для параллельного скачивания
Параллельная загрузка означает увеличение параллельных загрузок одних и тех же файлов. Пройдясь по множеству сайтов, вы можете заметить, что на многих из них запросы посылаются на static.domain.com и c1.domain.com. Это можно увидеть в нижней панели браузера.
Это отличный способ увеличить производительность сайта. При использовании поддоменов, по сути, информация будет находиться на одном и том же сервере, однако для браузера они будут разными.
Настройка процесса:
- Создайте 3 поддомена на вашем сервере
- Расположите ваши изображения в папках на разных поддоменах
- Замените пути в ваших файлах
5. Добавление заголовков Expires
Некоторые сайты остаются нагруженными даже после применения всех методов, описанных выше. Но есть ещё пару методов.
Пользователь может зайти на ваш сайт и совершить все необходимые HTTP запросы для отображения страницы, изображений, скриптов и т.д.
Когда вы используете заголовки Expires, вы можете закэшировать все эти элементы на пользовательской машине, тем самым не только увеличив скорость загрузки страницы, а ещё и сократив трафик. Заголовки Expires могут быть применены ко всем вашим скриптам, CSS и изображениям.
Данного эффекта можно добиться посредством нескольких строк, которые вам нужно добавить в файл.htaccess, который находится в корневом каталоге вашего сайта.
Следующий пример.htaccess файла устанавливает заголовки expires на какое-то число в 2010 году для таких типов файлов как.ico, .pfd, .flv (файлы Flash), .jpg, .png, etc.
Будьте бдительны: если вы произведёте какое-либо изменение в данных файлах (в случае, если срок ещё не прошёл), то вам необходимо переименовать их (или добавить в название версию), иначе в кэше они не обновятся.
К примеру, если у вас есть файл JavaScript, в котором вы что-то изменили, просто добавьте в название номер версии (что-то типа javascriptfile-1.0.js, javascriptfile-1.1.js и т.д.)
Вывод
Сегодня мы прошлись по многим способам. Надеюсь, вы отметили для себя несколько методов, которые будете активно применять в ваших проектах! Удачи!
Иногда при работе с Почтой перестают работать кнопки, не прикрепляется вложение или браузер сообщает об ошибке.
Выберите проблему:
Иероглифы или непонятные символы появляются из-за неправильной кодировки страницы. Кодировку могут изменить вирусы или вредоносные программы.
CureIt! от Dr.Web и Virus Removal Tool
Если страница не загружается или загружается очень долго, вы видите сообщения:
«Произошла ошибка» .
«Попробуйте обновить вкладку браузера или повторите попытку через несколько минут» .
«Подождите, пожалуйста...» .
«Попробуйте обновить страницу или воспользуйтесь лёгкой версией Почты» .
Почему страница не загружается и как это исправить:
Расширения блокируют Яндекс.Почту Вы используете устаревший браузер
Устаревший браузер может не поддерживать технологии, которые используются для быстрой и удобной загрузки страниц. Установите последнюю версию вашего браузера .
Закройте в браузере все вкладки, кроме Почты. Отключите приложения, использующие\\n интернет, и перезагрузите страницу.
\\n \\n \\n \\n Возникла проблема с сетевым подключением \\n \\n
Чтобы это проверить, зайдите в Почту через мобильный интернет. Если ошибки не\\n возникают, обратитесь в службу поддержки вашего провайдера. Если вы пользуетесь\\n рабочей почтой, сообщите о проблеме своему системному администратору.
\\n \\n \\n \\n В Internet Explorer 8 и выше выбран не тот режим совместимости \\n \\n
Если в браузере Internet Explorer 8 и выше вы используете режим совместимости с\\n более старой версией, это может приводить к ошибкам.
Режим\\n документов
\\n \\n \\n \\n \\n\\n "}]}}\">
Снизилась скорость интернета
Закройте в браузере все вкладки, кроме Почты. Отключите приложения, использующие интернет, и перезагрузите страницу.
Возникла проблема с сетевым подключением
Чтобы это проверить, зайдите в Почту через мобильный интернет. Если ошибки не возникают, обратитесь в службу поддержки вашего провайдера. Если вы пользуетесь рабочей почтой, сообщите о проблеме своему системному администратору.
В Internet Explorer 8 и выше выбран не тот режим совместимости
Если в браузере Internet Explorer 8 и выше вы используете режим совместимости с более старой версией, это может приводить к ошибкам.
Установите параметры Режим браузера и Режим документов в соответствии с версией вашего браузера.
Сообщение об ошибке сертификата безопасности начинается с фразы:
«Ваше подключение не защищено» .
«Сайт угрожает безопасности вашего компьютера» .
«Ошибочный сертификат» .
«Ошибка в сертификате безопасности» .
«Это соединение является недоверенным» .
Почему появляются ошибки сертификата безопасности и как их исправить:
Ошибки ненадежного соединения или некорректного сертификата безопасности могут возникнуть из-за конфликта между настройками браузера и компьютера. Также ошибки может вызвать работа антивируса. Чтобы понять причину ошибки сертификата, найдите ее код в конце сообщения.
Код ошибки | Решение |
---|---|
| / |
| дата и время . Если они настроены неправильно, система ошибочно определяет, что срок сертификата еще не наступил или уже закончился. |
| Убедитесь, что в настройках вашего антивируса отключена проверка HTTPS-соединений. О том, как это сделать в Kaspersky Internet Security и в ESET NOD32 Smart Security, см. под таблицей. Если на вашем компьютере нет антивирусной программы, злоумышленники могли подменить сертификат безопасности при помощи вредоносного кода или атаки MITM . Проверьте ваш компьютер на вирусы с помощью бесплатных антивирусных программ: CureIt! от Dr.Web и Virus Removal Tool от «Лаборатории Касперского». |
Код ошибки | Решение |
---|---|
| Проверьте, что в адресную строку браузера введен правильный адрес - mail.yandex.ua или passport.yandex.ua , а после ua стоит символ / , а не точка или другой символ. |
| Убедитесь, что на компьютере корректно установлены |
При создании клиентоориентированного сайта вам необходимо учесть и продумать множество вещей, начиная от творческих (дизайн, наполнение) и заканчивая техническими (верстка, размещение в сети Интернет). Для клиентов важна каждая мелочь, поэтому важно смотреть не только на внешнюю сторону вашего проекта - то, что увидит пользователь - но и на внутреннюю, а именно, как быстро пользователь это увидит. Исследования показывают, что примерно половина пользователей ожидает, что сайт загрузиться менее чем за две секунды, а 40% пользователей закроют сайт, если на его загрузку уйдет более трех секунд. Поэтому крайне важно, чтобы ваш сайт загружался быстро, иначе вы рискуете потерять значительную часть своих клиентов. Что же вы можете сделать, чтобы уменьшить время загрузки вашего сайта?
1. Сократите код
Чем объемнее код вашего проекта, тем больше он весит, а значит, тем большее время требуется для его загрузки. Поэтому в первую очередь вам нужно убедиться, что код оптимизирован. Особенно это касается первой, посадочной страницы, на которую попадает пользователь - будет лучше отказаться от тяжелых скриптов JavaScript и Ajax либо убрать их в нижнюю часть страницы. Придерживайтесь известного принципа KISS - Keep it short and simple - пусть код будет коротким и простым.
Сервис PageSpeed Insights от Google советует убрать внешний файл JavaScript из верхней части страницы, так как цикл операций, который требуется выполнить для его загрузки, значительно тормозит загрузку страницы. В этом случае рекомендуется либо сделать код JavaScript встроенным, либо загружать этот код после загрузки верхней части страницы.
Если вы хотите узнать, все ли в порядке с JavaScript на странице вашего сайта, воспользуйтесь этим сервисом: https://varvy.com/tools/js/
Этот совет также касается HTML и CSS-кода. Как и в случае с JavaScript, особое внимание уделите внешним файлам - к примеру, внешним таблицам стилей, которые по возможности лучше вставить в HTML.
2. Используйте компрессию сайта
Существует несколько технологий, при помощи которых вы можете сжать данные, благодаря чему можно уменьшить размер текстовых ресурсов, а значит, и время загрузки страниц вашего ресурса. К примеру, воспользуйтесь gzip: эта утилита минимизирует запросы к серверу со стороны браузера. Воспользоваться ею можно в протоколе HTTP.
Проверить, используется ли на вашем сайте gzip для сжатия данных, можно на этом ресурсе: http://www.gidnetwork.com/tools/gzip-test.php
А пройдя по следующей ссылке, вы сможете выяснить, применяется ли в целом какая-либо технология сжатия на вашем сайте: http://www.whatsmyip.org/http-compression-test/
3. Сократите количество переадресаций
Переадресация 301 часто используется для того, чтобы провести перенаправление с одного адреса на другой. Однако это чревато тем, что будут задействованы дополнительные сетевые циклы, из-за которых время загрузки сайта может увеличиваться, особенно если речь идет о мобильных устройствах. Поэтому лучше уменьшить количество переадресаций или вообще отказаться от них.
Проверить свой сайт на наличие переадресаций вы можете при помощи этой программы (есть бесплатная версия): https://www.screamingfrog.co.uk/seo-spider/
4. Уменьшите число плагинов
Данный пункт касается тех, кто пользуется CMS: Wordpress, Joomla или какой-либо другой. Регулярно проверяйте список плагинов, которые вы используете, на предмет ненужных или уже неиспользуемых. Уменьшение количества плагинов положительно скажется на загрузке вашего сайта и его работе в целом. Если вы используете Wordpress в качестве системы управления контентом, то оптимизировать число плагинов вы также можете при помощи специального плагина P3 (Plugin Performance Profiler): https://wordpress.org/plugins/p3-profiler/ Этот плагин покажет вам данные, касающиеся производительности других плагинов, и того, как каждый из них влияет на работу сайта. Это поможет вам определить, от каких плагинов следует отказаться в первую очередь.
5. Оптимизируйте изображения
Размер картинок на сайте напрямую влияет на время загрузки ресурса. Все изображения обязательно нужно оптимизировать: ставить правильный размер, формат и сжимать. Также будет полезно избавиться от так называемого цифрового мусора: различных данных, которые попадают в изображение при его обработке.
6. Пользуйтесь кэшем браузера
Используя кэширование, вы можете значительно выиграть в скорости загрузки вашего сайта: когда пользователь первый раз заходит на ваш сайт, в кэше его браузера сохранятся некоторые JavaScript и CSS-файлы, которые затем будут автоматически показываться при его следующих визитах, а браузеру не придется тратить время на их загрузку. Для кэширования необходимо правильно настроить HTTP-заголовок Expires. Вы можете сделать это, прописав в файле.htaccess, который находится в корневой папке, следующие строки:
В данном случае у всех типов установлен срок в 1 месяц, но вы можете изменить время на то, которое вам нужно: кэш может храниться определенное количество лет (years), месяцев (months), недель (weeks) или дней (days).
Если вы пользуетесь какой-то определенной CMS, то можете установить для этого специальный плагин. В случае с Wordpress подойдет W3 Total Cache: кэширование включается в настройках (выберите Settings у данного плагина в списке всех установленных плагинов, затем General - поставьте галочку у “Toggle all caching types on or off (at once)”).
7. Следите за производительностью сайта
Очень важно постоянно мониторить производительность вашего сайта - даже тогда, когда, как вам кажется, вы оптимизировали все, что было можно. Для этого существуют специальные бесплатные ресурсы, самые известные из которых будут перечислены ниже:
- уже упомянутый выше Page Speed Insights:
https://developers.google.com/speed/pagespeed/insights/?hl=ru
Этот инструмент от Google замеряет скорость загрузки вашего веб-ресурса (от 0 до 100 баллов; чем выше балл, тем лучше). Сервис даст вам рекомендации по улучшению производительности, а также покажет, какие пункты оптимизации вы выполнили. Имейте в виду, что так как в Page Speed Insights вносятся правки и корректировки, то количество баллов, которые получил ваш сайт, также может меняться. - Pingdom Website Speed Test:
http://tools.pingdom.com/fpt/
Хороший англоязычный сервис для проверки скорости загрузки вашего ресурса. Будет особенно полезен тем, кто администрирует международные ресурсы, так как позволяет выбрать место, из которого будет производиться тестирование: США, Австралия или Швеция (результат будет отличаться). Выводит множество разных данных и дает рекомендации. - Loadimpact:
https://loadimpact.com/
Этот сервис позволяет сгенерировать несколько запросов на ваш сайт, путем чего можно выяснить, во-первых, среднюю скорость загрузки вашего сайта, во-вторых, понять, как ваш сайт поведет себя при определенном количестве запросов (выдержит ли он нагрузку). - LoadStorm:
http://loadstorm.com/
При помощи этого сервиса вы можете запустить достаточно серьезное тестирование своего сайта. Бесплатная версия сервиса позволит вам протестировать свой ресурс при помощи 10 пользователей, а вот платная версия дает больше возможностей, в частности вы сможете самостоятельно прописать сценарий, который будут выполнять пользователи (к примеру, нажать на определенную кнопку или перейти в нужный раздел). При этом вы обязаны верифицировать то, что являетесь владельцем сайта.
Заключение
Если вы выполните каждый из предложенных в этой статье пунктов, вы сможете значительно уменьшить время загрузки вашего сайта. Но при этом не забывайте, что оптимизация должна происходит не во вред пользователям: картинки должны оставаться привлекательными, навигация удобной, а информация понятной и доступной.
Делитесь в комментариях своими идеями, как можно ускорить загрузку веб-ресурса.
В Google Chrome, аналогично с иными браузерами ОС Windows, существует проблема, которая связана с тем, что после загрузки страницы на компьютере сохраняются некоторые скачанные файлы.
Со временем они начинают занимать слишком много места на жестком диске.
Производить отчистку куки нужно регулярно, несмотря на то, что все может быть в порядке. Сама процедура не занимает много времени, ведь в Гугл Хроме её осуществить очень просто.
Что это такое
Перед тем, как почистить кэш в Google Chrome на ОС Windows стоит разобрать, что он вообще собой представляют. Сам термин, кеш был взят из английского слова cashe. Оно обозначает тайник или место хранения. Также его часто называют «куки» из-за того, что это текстовые данные сайта, хранящийся на компьютере пользователя. Если отбросить технические детали, можно сказать, что такие своеобразные хранилища информации позволяют обеспечить быстрое открытие и отображение тех сайтов, на которых пользователь ранее уже заходил через хром.
По большому счету, такие хранилища являются прекрасным вариантом, позволяющим экономить ваш интернет-трафик. Так, например, после того, как вы посмотрели какой-либо ролик на определенном сайте, при повторном его просмотре не будет нужды еще раз его полностью загружать из сети. Дело в том, что алгоритмы браузера автоматически создают копию того видео и размещают его в память компьютера, создавая тем самым куки и кэш. Это также обеспечивает более оперативную загрузку.
Однако в этом случае есть и свои негативные стороны. К примеру:
- Если в сайт были внесены изменения, после того, как его посещали с браузера и информация о нем сохранилась в куки, далеко не всего он будет отображаться в новом виде. Причиной является то, что в памяти уже находится образ старой версии вебсайта, который загрузили алгоритмы браузера и он может быть отображен пользователю. Чтобы этого избежать, нужно своевременно почистить хранилища информации;
- Еще одной негативной стороной является то, что такая информация, если её долгое время не чистить, будет занимать очень большое количество места на жестком диске, уменьшая его свободное пространство.
Как проводить очистку
Сама процедура является максимально простой. Прежде всего нужно запустить сам браузер через систему Windows. Теперь необходимо нажать сочетание клавиш Shift + Ctrl + Delete. Это является наиболее быстрым способом открыть куки браузера. Это можно сделать и иным путем. Для этого нужно найти в хроме кнопку входа в меню (она в последних версиях обозначается тремя точками, расположенные в столбик), она называется «Настройка и управление» и нажать.
В появившемся контекстном меню необходимо выбрать пункт «Настройки», после чего откроется вкладка со всеми доступными к изменениям параметрами. Опускаемся в самый низ страницы, где находится кнопка «Показать дополнительные настройки» и нажимаем её. Находим там раздел «личные данные», где будет нужно нажать на кнопку «Очистить историю».
Далее появиться окно, где можно будет почистить кроме необходимых хранилищ файлов, сохраненные данные истории загрузок, какие сайты посещались, а также информацию о паролях. Чтобы выбрать, что именно будет удалено нужно поставить рядом с конкретным пунктом галочку. После этого можно будет просто нажать кнопку «Очистить историю» и подождать, пока процедура завершится.
На этом процедура очистки файловых хранилищ информации браузера гугл хром через Windows заканчивается. Однако, стоит также сказать о том, что находясь в разделе настроек «Личные данные» можно указать периодичность удаления определенного типа сохраняемых данных в гугл хром. Это позволит сделать так, чтобы удалялись не все файлы, а только устаревшие и уже не актуальные. Также, стоит сказать, что куки и кеш имеют значительные отличия:
- Первые являются своеобразными следами, остающимися после посещения сайта в виде информации, которой обмениваются вебсайты и сам хром;
- Вторые представляют собой хранилищем загруженных с разных вебсайтов видео, музыки и фотографий.
Также произвести удаление всех сохраненных файлов можно даже не заходя в хром. Для этого нужно будет открыть в Windows саму папку, где они храниться.
Обычно, это можно сделать перейдя по адресу C:\Documents and Settings\Admin\Local Settings\Application Data\Google\Chrome\User Data\Default\Cache\ где «Admin» — это имя пользователя Windows.
После того, как вы соберете некоторую статистику по времени загрузки страницы и эффективной ширине канала для реальных пользователей, вы можете поэкспериментировать с изменениями, которые могут улучшить эти показатели. В случае значительных достижений в улучшении этого показателя стоит закрепить внесенные изменения.
Нижеприведенные советы частично уже фигурировали в других статьях: советы от Yahoo , объединение CSS-файлов , оптимизация времени загрузки страницы и многих других . Однако, повторение — учения, к тому же, в следующих советах есть несколько свежих моментов.
Можно попробовать следующие вещи:
Если пользователи регулярно загружают десяток или больше некеширующихся или некешируемых объектов, стоит распределить их загрузку по 4 хостам. В этом случае обычно пользователь сможет установить в 4 раза больше соединений. Без HTTP-конвейера это выльется в уменьшение потерь на пересылку запроса примерно в 4 раза.
При генерации страницы перед вами встанет задача распределения картинок по 4 разным хостам. Это легче всего сделать с помощью любой хеш-функции, например, MD5. Вместо того чтобы загружать все с одного http://static.example.com/ , создайте 4 хоста (например, static0.example.com , static1.example.com , static2.example.com , static3.example.com) и используйте 2 бита из MD5-суммы для каждой картинки, чтобы выбрать, на какой именно хост ставить ссылку на ее загрузку. Убедитесь, что все страницы используют один и тот же алгоритм соответствия (указывают на один и тот же хост для каждой картинки), иначе вы будете безрезультатно бороться против кеширования .
Стоит, однако, заметить, что добавление еще одного хоста увеличивает расходы на дополнительные DNS-поиск и установку HTTP-соединения. Если у пользователей включена конвейерная обработка запросов или страница подгружает менее десяти объектов (лично я бы рекомендовал ориентироваться на 5-6 на хост, т.е. при 10 объектах можно вводить второй хост, при 16 — третий, а при 25 - четвертый ), то пользователи не ощутят выигрыша от увеличения числа параллельных запросов и вместо ускорения загрузки сайта заметят ее замедление. Преимущества данного подхода появятся только для страниц с большим числом внешних объектов. Стоит каким-либо образом измерить разницу во времени загрузки для ваших пользователей прежде, чем полностью внедрять данную методику.
Возможно, лучшим выходом для ускорения загрузки ваших страниц для вернувшихся посетителей будет безусловное кеширование браузером статических картинок, файлов стилей и скриптов. Это никак не поможет при загрузке страницы для нового посетителя, но существенно уменьшит время загрузки страницы при повторных посещениях.
Рассмотрите возможность расположить небольшие объекты (или зеркало, или их кеш) максимально близко от пользователей в терминах сетевых задержек. Для больших сайтов с международной аудиторией можно использовать как платные сети доставки содержания (Content Delivery Network ), так и отдельные виртуальные машины в пределах 50мс для 80% ваших пользователей вместе с множеством доступных методов для распределения запросов пользователей на ближайшую к ним виртуальную машину (к слову сказать, как раз так работают сайты многих международных компаний, в том числе, и Acronis , распределяющие пользователей по локальным версиям в зависимости от географического признака ).
Регулярно проверяйте ваш сайт, заходя с помощью «рядовых» соединений. В моем случае использование «медленного прокси-сервера», который эмулировал плохое DSL-соединение из Новой Зеландии (768Кбит входящий, 128Кбит исходящий, 250мс задержка, 1% потери пакетов) вместо гигабайтного канала с несколькими миллисекундами от серверов в штатах, оказалось весьма полезным. Мы очень оперативно обнаружили и устранили ряд функциональных ошибок и проблем удобства использования.
Для моделирования такого медленного соединения, я использовал модули ядра Linux netem и HTB , которые доступны с версии 2.6. Оба этих модуля устанавливаются с командой . Это позволяет добиться наиболее точной эмуляции, которую мне удалось найти, но я бы не назвал ее идеальной. Лично я не пользовался, но, по общему мнению, по скрытой возможности в их браузере, которая позволяет получить также некоторую дополнительную информацию по поводу загрузки.
Если же вы хорошо знакомы с HTTP-протоколом и TCP/IP на пакетном уровне, то можно попробовать посмотреть, что происходит, используя tcpdump , или . Эти инструменты являются просто обязательными для сетевых отладок любого рода.
Попробуйте протестировать часто загружаемые страницы вашего сайта на производительность из локальной сети, используя , который поставляется вместе с веб-сервером Apache . Если сервер отвечает дольше, чем 5-10 миллисекунд при генерации страницы, значит, стоит хорошо разобраться, на что же уходит серверное время.
Если в результате таких тестов задержки оказались весьма высокими, и процесс веб-сервера (или CGI, если вы используете его) «отъедал» слишком много CPU, то причиной этого зачастую может оказаться необходимость в компиляции скриптов в процессе выполнения при каждом запросе. Такое программное обеспечение, как eAccelerator для PHP, mod_perl для perl, mod_python для python и т. д. могут кешировать серверные скрипты в скомпилированном состоянии, существенно ускоряя загрузку вашего сайта. Кроме этого, стоит найти профилирующий инструмент для вашего языка программирования, чтобы установить, на что же тратятся ресурсы CPU. Если вам удастся устранить причину больших нагрузок на процессор, то страницы будут отдаваться быстрее, и вы сможете выдавать больше трафика при меньшем числе машин.
Если на сайте при создании страницы выполняется много запросов к базе данных или какие-либо другие тяжелые вычисления, стоит рассмотреть добавление кеширования на стороне сервера для медленных операций. Большинство людей начинают с записи кеша в локальную память или локальный диск, однако, эта логика перестает работать, если ваша система расширяется до кластера веб-серверов (каждый со своим локальным диском и локальной памятью ). Стоит взглянуть в сторону использования memcached , который создает очень быстрый общий кеш, который объединяет свободную оперативную память всех имеющихся машин. Клиенты к нему портированы на большинство распространенных языков.
(Опционально) Подать петиция производителям браузеров с целью включить конвейерную обработку HTTP-запросов по умолчанию в новых браузерах. Если это будет сделано, то нам не придется исполнять эти «танцы с бубнами» (these tricks ), и большая часть веба будет загружаться быстрее для среднего пользователя. (В Firefox"е это отключено, предположительно, из-за некоторых прокси, некоторых балансировщиков нагрузок и некоторых версий IIS (привет, Microsoft! ), которые впадают в шок при конвейерных запросах. Но в Opera, по-видимому, провели существенную работу для того, чтобы включить эту возможность по умолчанию. Почему так не могут поступить все остальные браузеры?)
Заключение
Указанный список содержит мои мысли по увеличению скорости связи между браузером и сервером и может быть применен, в общем случае, ко многим сайтам не зависимо от того, как используется веб-сервер или язык разработки для написания сайта. Однако, к сожалению, все эти вещи делают довольно редко.
Хотя все советы направлены на уменьшения времени загрузки страницы, положительными побочными эффектами могут стать уменьшения трафика от сайта и уменьшения нагрузки на серверный процессор на просмотр одной страницы. Уменьшения затрат на ваш вебсайт при улучшении пользовательского восприятия ресурса должно быть веской причиной, чтобы потратить некоторое время на оптимизацию такого рода.