Netage Lecture Series 1

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

description

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

Transcript of Netage Lecture Series 1

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