Upload
georgi-varzonovstev
View
2.663
Download
2
Embed Size (px)
DESCRIPTION
Проектиране на уеб приложения за голямо натоварване. Слайдовете са от първата презентация от Netage Lecture Series.
Citation preview
Lecture Series
Проектиране на уеб приложения за голямо натоварване
Lecture Series
Кои сме ние?
• Дейност: уеб проектиране, дизайн и разработка
• Фокус: големи и сложни уеб проекти
• Начало: 1998 / България
• Екип: 65
• Клиенти: 170
• Проекти: 270+
Lecture Series
Защо сме тук?
• Да споделим опит• Да се запознаем• Да пием по бира заедно
Lecture Series
Защо точно тази тема?
• Приключихме договора с УМГ• www.topsport.bg• www.news.bg• www.money.bg• www.lifestyle.bg• www.vsi4ko.bg• international.news.bg• www.ibox.bg
• Нарастващ брой запитвания за “уеб портали”
Lecture Series
Малко история
• Запитването
Lecture Series
Lecture Series
Малко история
• Запитването• Подхода
• custom framework• единна платформа
Lecture Series
Малко история
• Запитването• Подхода
• custom framework• единна платформа
• Резултати
Lecture Series
Резултати
• Администратори: 100
• Материали: 500 / ден
• Общо материали: 270 000
• Коментари: 10 000 / ден
• Pageviews: 650 000 / ден
• Рекламни показвания: 3 000 000 / ден
Lecture Series
Lecture Series
По същество (съдържание)
• Що е то?• Проблеми• Решения• Въпроси и дискусия
Lecture Series
Голямо натоварване / Performance
Какво разбират клиентите под “Искам сайта мида работи добре при голямо натоварване”?
• Availability• Scalability• Response time
Lecture Series
Често срещани проблеми
• База данни: ограничен брой връзки към базата
• Уеб сървър: ограничен брой едновременни заявки
Lecture Series
Lecture Series
Решаване на проблеми с базата
• Купуваме по-мощен ДБ сървър• Клъстерираме базата данни• Кешираме съдържанието
Lecture Series
Техники за кеширане на съдържанието
• Кеширане на целия request (цяла страница)
Lecture Series
Техники за кеширане на съдържанието
• Кеширане на целия request (цяла страница)• Кеширане на резултатите, които се връщат от
базата
Lecture Series
Техники за кеширане на съдържанието
• Кеширане на целия request (цяла страница)• Кеширане на резултатите, които се връщат от
базата• Кеширане на отделни автономни части от
съдържанието
Lecture Series
… кеширане на отделни автономни части от съдържанието
Lecture Series
Проблеми при кеширане на съдържанието
• Актуалност на данните
Lecture Series
Проблеми при кеширане на съдържанието
• Актуалност на данните• Инвалидация базирана на време
Lecture Series
Проблеми при кеширане на съдържанието
• Актуалност на данните• Инвалидация базирана на време• Инвалидация базирана на събития
Lecture Series
… инвалидация базирана на събития
Lecture Series
… инвалидация базирана на събития
Lecture Series
Проблеми при кеширане на съдържанието
• Актуалност на данните• Инвалидация базирана на време• Инвалидация базирана на сигнали
• Брой на кеш файловете
Lecture Series
... разпределяне на кеш файловете
/cache/2/1/211m.php/cache/2/5/255-BLOCK-MOST-COMMENTED.php/cache/2/5/256-BLOCK-MOST-VIEWED.php/cache/2/4/247-BLOCK-TOP-MATERIAL.php
Lecture Series
Решаване на проблемите с уеб сървърите
• Клъстър от уеб сървъри: load balancer, squid
Lecture Series
... клъстър от уеб сървъри
Lecture Series
Решаване на проблемите с уеб сървърите
• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на
потребителската сесия на едно място
Lecture Series
Решаване на проблемите с уеб сървърите
• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на
потребителската сесия на едно място• Споделен файлов сървър
Lecture Series
... споделен файлов сървър
Lecture Series
Решаване на проблемите с уеб сървърите
• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на
потребителската сесия на едно място• Споделен файлов сървър• Отделен домейн за статичното съдържание
Lecture Series
И да припомним за какво говорихме
Lecture Series
Последно
• Въпроси?• Идеи?• Коментари?
Lecture Series
Благодаря за вниманието!
Георги Иванов[email protected]
Венера Александрова[email protected]
www.netage.bg