Скорост на изпълнение на скриптовете
Категория: Обща информация
Всяка страница в един динамичен сайт реално се подава от програма(скрипт).Сървърът приема вашата заявка, подава я на програмата на CMS, тя се обработва и резултатът ви се връща във вид на html страница.
Най-често за по-бързо разписване на кода на сайта разработчиците използват готови open source системи като Joomla, Drupal, OSCommerce, Zen Cart. Тези системи позволяват с минимум познания по програмиране да се подкара сайт с потребителски права, различни модули, които се теглят готови от мрежата, и т.н., но има своята цена- страниците се генерират понякога за време и над секунда или даже по няколко секунди на страница, което означава два сценария при голямо натоварване- скалиране с много сървъри или блокаж на целия сайт.
Защо се получават тези блокажи? Компютрите нямат хиляди процесори. Всяка програма, която отнема секунда за изпълнение, блокира изпълнението на други програми на дадения процесор, а даже и на най-мощните сървъри, те са примерно 16. При един процесор 10 едновременни заявки биха означавали последната да получи отговор за 10 секунди. Това кара потребителя да се изнерви, да поиска наново страницата и броят на заявките става такъв, че предизвиква блокаж на сървъра. Разбира се, 10000 потребители не заявяват страници в една секунда, но за сайт с 10000 човека дневно пиковете са до 50-60 заявки в секунда. За да няма застъпвания на заявки или те да не се усетят, се гони времето за подаване на текста на готовата страница да е минимално. 0.1 секунда на заявка значи около секунда закънение при 10 заявки едновременно на един процесор.
Проблемът със скоростта на open source системите се решава чрез разписване на собствен олекотен CMS, който да не зависи от толкова много модули и код. Въпреки това всяка заявка до базата данни забавя, всеки ред код може да се отрази на производителността. При базите данни разместването на нещо в заявката може да доведе до десетки пъти по-бързо изпълнение. Най-често за малки клиенти цялостен CMS не се оптимизира и така в този сегмент сайтовете по принцип са бая бавни и при достигнато натоварване се разписват от 0.
Стандартно страниците се води, че са бързи, ако се подават за десети от секундата. По мнението на създателите на някои от най-натоварените български сайтове се гони страница средно да се показва за под 0.01 секунди. Това става много трудно благодарение на така наречените кешове (Вече генерирано съдържание се подава на максимум хора готово, за да не се товари машината.) и изисква и максимална оптимизация на кода, но не е невъзможна мисия. Нашият CMS при тест подава кеширани страници на chochoichocho.com за 0.008-0.01 секунди, без кеш ги генерира за 0.03-0.04 секунди въпреки наличните над 18000 страници в базата данни.
Още статии от Обща информация
18.05.2010- Оптимизация за търсещи машини(SEO)
Търсещите машини все още са най-сигурният начин за провличане на посетители на сайтовете. При онлайн рекламата най-често кликаемостта на банерите е 0.5-0.6 промила или 5-6 натискания на 1000 показвания. В същото време цените на банерите не са ниски и са примерно 10 стотинки на всеки клик, т.е. привлечен посетител. При борбата за привличане на посетители всичко може да бъде безплатно и да се привличат и хиляди посетители на ден при достатъчно съдържание. Ние знаем това, защото сме го постигали в нашите проекти.
18.05.2010- Оптимизация на зареждането от браузъра
Някъде около 2000г. инженер на Yahoo публикува книга с описание на 10 правила за оптимизиране на сайта за по-бързото му зареждане и показване. Тогава скоростите на връзките са още ниски и влиянието на тези правила върху усещането на потребителя за скоростта на сайта е огромно. Оказало се е, че най-големият проблем на разработчиците в Yahoo е бил, че оптимизират всичко да се генерира за минимално време, но страниците се зареждат понякога и по 10-15 секунди. В наши дни трудно човек ще усети разликата между зареждане за 2 секунди и за 4, но този сбор от правила постоянно противно на общата логика се развива. Защо ли компании като Yahoo толкова държат на тези правила?
Категории в блога на Awsum labs
Сподели страницата
Ключови думи: оптимизация на сайт, скорост

