none
Проектирование WEB сайта и его масштабирование RRS feed

  • Вопрос

  • Добрый день уважаемый.

    Передомной стоит задача запустить свой интернет магазин. И так что я имею: 1. Выделенный канал 100Mb/s (для начала); 2. Средний размер загружаемой странички 1,5M при первичном посещении (далее большая часть сайт кешируется и загружаемый размер странички падает в 3-4 раза) 3.Web сервер на базе IIS 8 + PHP (Windows Server 2012 R2) + файлы сайта хранятся на отдельном диске SDD Intel 710 100Gb.

    По моим предположениям узким местом в данном случае является выделенный канал интернета 100Mb/s = 12.5MB/s, учитывая что сервер через интерфейсе SATA2, с пропускной способностью 300MB/s, способен брать данные с SSD диска со скоростью 270MB/s.

    Конечно расчеты чисто теоритические, но все же имеют право на чисто примерный расчет.

    Таким образом вопросы:

    1. Значит ли это что канал интернета можно расширить с 100Mb/s (12,5 MB/s) до 2Gb/s (250MB/s) и SSD диск (теоритически) будет обеспечивать достаточную производительность? (Канал в 2Gb/s взять чисто теоритически, возможно будет лучше поставить 2 Web сервера с выделенным каналом по 1Gb/s на каждый, тем самым распределить нагрузку... а  в будующем увеличивать количество подобных WEB серверов, для обеспечения достаточной производительности при росте посещаемости сайта)

    2. Как прикинуть какое пиковое количество пользователей может работать с сайтом на канале шириной 100Mb/s (12,5MB/s) при среднем размере странички 1,5M?

    3. Какой процессор и объем ОЗУ нужны для стабильной работы сервера на канала 100Mb/s (12,5 MB/s)? (Мне кажется что двух ядерного процессора частотой 1,5MHz с объемом ОЗУ 2GB будет более чем достаточно, что бы отдать в сетевой интерфейс 12,5M данных в секунду)

    4. Как примерно нужно будет апгрейдить процессор и ОЗУ сервера при увеличении ширины канала до 2Gb/s (250MB/s)? (хочу представить примерную взаимосвязть между объемом считываемых данных с диска и отправляемых в сетевой интерфейс, для того, или иного процессора (частота, кол-во ядер) в связке с тем или иным объемом ОЗУ)

    Заранее большое спасибо всем кто поможет сформировать представления о проектировании пободной системы и о её будующем масштабировании.

    8 марта 2017 г. 8:04

Ответы

  • Добрый День.

    В данном случае предполагать что либо сложно, нужно делать нагрузочное тестирование.

    Самое оптимальное на мой взгляд использовать масштабирование экземпляров VM по нагрузке т.е. по тем либо иным показателям. Попробуйте как вариант Azure и почитайте Что такое масштабируемые наборы виртуальных машин в Azure? 

    По ценам можно посмотреть Здесь 

    Предоставляется пробный период 

    Возможно вам подойдет такой вариант


    Я не волшебник, я только учусь MCP, MCTS, CCNA. Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение". Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть без каких-либо гарантий. Блог IT Инженера, IT Reviews, Twitter.

    8 марта 2017 г. 13:19
    Модератор