Сколько пользователей на одном экземпляре Azure, прежде чем я столкнулся с проблемами производительности? - PullRequest
4 голосов
/ 20 августа 2010

Наше приложение представляет собой простой портал (будет развернут как веб-узел Azure) со следующими функциями -

  1. Вход в систему
  2. Просмотр подробной информации об этой учетной записи (без сложных вычислений, только показдетали уже сохранены в БД)
  3. Просмотреть список событий, опубликованных для всех учетных записей
  4. Базовое управление учетными записями, например, изменение пароля

Я пытаюсь собратьКак вы думаете, какое разумное количество одновременных входов в систему для такого приложения на одном небольшом экземпляре Azure?(Я знаю, что два экземпляра необходимы для лучшего времени безотказной работы, но допустим, у нас есть только один)?

Бэкэнд - это SQLAzure по старым причинам (а не хранилище Windows Azure).Чтобы дать представление о размере данных, данные о 1000 пользователях будут храниться в пределах 50 МБ хранилища (изображения присутствуют только для событий и извлекаются из BLOB-объектов Windows Azure).

Ответы [ 3 ]

3 голосов
/ 20 августа 2010

Просто используйте соответствующую архитектуру, и вы сможете разместить тысячи одновременно работающих пользователей в одной веб-роли, даже не замечая нагрузки или подчеркивая основополагающее постоянство (будь то RDB или полное хранилище событий).Если число одновременных пользователей возрастает, проблема масштабирования будет заключаться просто в добавлении другой веб-роли или командного процессора (в зависимости от типа нагрузки).

Я рекомендую начать смотреть на CQRSархитектуры , которые хорошо сочетаются с облачными вычислениями и идеей почти бесконечно масштабируемых решений.

1 голос
/ 20 августа 2010

Для тысячи пользователей вам не стоит беспокоиться.

IIS7 обрабатывает до десяти тысяч одновременных пользователей или более, но сводится к аппаратному обеспечению.Так как это будет отличаться в зависимости от того, что вы на самом деле делаете в коде, я бы порекомендовал опубликовать ваше приложение для лазурирования и стресс-тестирования.

Это говорит вам, если вам нужно более одного интерфейса или если это db, которыйудерживая вас.

Также осуществите запись в лазурное время для различных событий.

[Редактировать]

Еще одна вещь, которую следует учитывать, это то, что "параллельный пользователь "?Если вам требуется время ответа 1 секунда, а фактический вызов занимает 0,2 секунды, то вы можете выполнить 5 вызовов подряд и при этом считать их одновременными.

0 голосов
/ 25 августа 2010

Определение ваших одновременных пользователей важно.Один экземпляр, запущенный в роли, не будет обрабатывать тысячу реальных одновременно работающих пользователей, не очень эффективно, но увеличение количества экземпляров даст вам возможность масштабировать это без проблем.Однако имейте в виду, что каждый экземпляр является вычислительным экземпляром, поэтому взимает $$.

После того, как вы выясните, какую подготовку ролей и экземпляров вы хотите сделать доступной для приложения, вы сможете получить реальное представление о том, чтотебе понадобиться.Кроме того, имейте в виду, что балансировка нагрузки и другие проблемы могут возникнуть, если сайт действительно огромный.Возможно, вам придется связаться с Microsoft, чтобы соответствующим образом спланировать на этом уровне, и, возможно, даже больше, чем в двух ролях с несколькими экземплярами в каждой из этих ролей.

В любом случае ... просто добавьте некоторые дополнительные вещи для размышления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...