35
Lecture Series Проектиране на уеб приложения за голямо натоварване

Netage Lecture Series 1

Embed Size (px)

DESCRIPTION

Проектиране на уеб приложения за голямо натоварване. Слайдовете са от първата презентация от Netage Lecture Series.

Citation preview

Page 1: Netage Lecture Series 1

Lecture Series

Проектиране на уеб приложения за голямо натоварване

Page 2: Netage Lecture Series 1

Lecture Series

Кои сме ние?

• Дейност: уеб проектиране, дизайн и разработка

• Фокус: големи и сложни уеб проекти

• Начало: 1998 / България

• Екип: 65

• Клиенти: 170

• Проекти: 270+

Page 3: Netage Lecture Series 1

Lecture Series

Защо сме тук?

• Да споделим опит• Да се запознаем• Да пием по бира заедно

Page 4: Netage Lecture Series 1

Lecture Series

Защо точно тази тема?

• Приключихме договора с УМГ• www.topsport.bg• www.news.bg• www.money.bg• www.lifestyle.bg• www.vsi4ko.bg• international.news.bg• www.ibox.bg

• Нарастващ брой запитвания за “уеб портали”

Page 5: Netage Lecture Series 1

Lecture Series

Малко история

• Запитването

Page 6: Netage Lecture Series 1

Lecture Series

Page 7: Netage Lecture Series 1

Lecture Series

Малко история

• Запитването• Подхода

• custom framework• единна платформа

Page 8: Netage Lecture Series 1

Lecture Series

Малко история

• Запитването• Подхода

• custom framework• единна платформа

• Резултати

Page 9: Netage Lecture Series 1

Lecture Series

Резултати

• Администратори: 100

• Материали: 500 / ден

• Общо материали: 270 000

• Коментари: 10 000 / ден

• Pageviews: 650 000 / ден

• Рекламни показвания: 3 000 000 / ден

Page 10: Netage Lecture Series 1

Lecture Series

Page 11: Netage Lecture Series 1

Lecture Series

По същество (съдържание)

• Що е то?• Проблеми• Решения• Въпроси и дискусия

Page 12: Netage Lecture Series 1

Lecture Series

Голямо натоварване / Performance

Какво разбират клиентите под “Искам сайта мида работи добре при голямо натоварване”?

• Availability• Scalability• Response time

Page 13: Netage Lecture Series 1

Lecture Series

Често срещани проблеми

• База данни: ограничен брой връзки към базата

• Уеб сървър: ограничен брой едновременни заявки

Page 14: Netage Lecture Series 1

Lecture Series

Page 15: Netage Lecture Series 1

Lecture Series

Решаване на проблеми с базата

• Купуваме по-мощен ДБ сървър• Клъстерираме базата данни• Кешираме съдържанието

Page 16: Netage Lecture Series 1

Lecture Series

Техники за кеширане на съдържанието

• Кеширане на целия request (цяла страница)

Page 17: Netage Lecture Series 1

Lecture Series

Техники за кеширане на съдържанието

• Кеширане на целия request (цяла страница)• Кеширане на резултатите, които се връщат от

базата

Page 18: Netage Lecture Series 1

Lecture Series

Техники за кеширане на съдържанието

• Кеширане на целия request (цяла страница)• Кеширане на резултатите, които се връщат от

базата• Кеширане на отделни автономни части от

съдържанието

Page 19: Netage Lecture Series 1

Lecture Series

… кеширане на отделни автономни части от съдържанието

Page 20: Netage Lecture Series 1

Lecture Series

Проблеми при кеширане на съдържанието

• Актуалност на данните

Page 21: Netage Lecture Series 1

Lecture Series

Проблеми при кеширане на съдържанието

• Актуалност на данните• Инвалидация базирана на време

Page 22: Netage Lecture Series 1

Lecture Series

Проблеми при кеширане на съдържанието

• Актуалност на данните• Инвалидация базирана на време• Инвалидация базирана на събития

Page 23: Netage Lecture Series 1

Lecture Series

… инвалидация базирана на събития

Page 24: Netage Lecture Series 1

Lecture Series

… инвалидация базирана на събития

Page 25: Netage Lecture Series 1

Lecture Series

Проблеми при кеширане на съдържанието

• Актуалност на данните• Инвалидация базирана на време• Инвалидация базирана на сигнали

• Брой на кеш файловете

Page 26: Netage Lecture Series 1

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

Page 27: Netage Lecture Series 1

Lecture Series

Решаване на проблемите с уеб сървърите

• Клъстър от уеб сървъри: load balancer, squid

Page 28: Netage Lecture Series 1

Lecture Series

... клъстър от уеб сървъри

Page 29: Netage Lecture Series 1

Lecture Series

Решаване на проблемите с уеб сървърите

• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на

потребителската сесия на едно място

Page 30: Netage Lecture Series 1

Lecture Series

Решаване на проблемите с уеб сървърите

• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на

потребителската сесия на едно място• Споделен файлов сървър

Page 31: Netage Lecture Series 1

Lecture Series

... споделен файлов сървър

Page 32: Netage Lecture Series 1

Lecture Series

Решаване на проблемите с уеб сървърите

• Клъстър от уеб сървъри: load balancer, squid• Memcached – съхраняване на

потребителската сесия на едно място• Споделен файлов сървър• Отделен домейн за статичното съдържание

Page 33: Netage Lecture Series 1

Lecture Series

И да припомним за какво говорихме

Page 34: Netage Lecture Series 1

Lecture Series

Последно

• Въпроси?• Идеи?• Коментари?

Page 35: Netage Lecture Series 1

Lecture Series

Благодаря за вниманието!

Георги Иванов[email protected]

Венера Александрова[email protected]

www.netage.bg