Лучший способ определить количество необходимых серверов

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

8
задан Gulzar Nazim 13 September 2008 в 11:45
поделиться

4 ответа

То, в чем Вы нуждаетесь, является некоторой информацией о Планировании мощностей..

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

7
ответ дан 5 December 2019 в 19:04
поделиться

Если у Вас есть доступ к некоторым профильным инструментам (таким как те, которые в выпуске Комплекта Команды Visual Studio), можно попытаться настроить сервер тестирования и выполнение некоторых синтетических запросов против него и видеть, существует ли какая-либо определенная часть кода, берущего необоснованно долго для выполнения. Необходимо, вероятно, проверить некоторые графики ЦП и использования памяти со временем прежде, чем сделать это, видеть, может ли это даже быть это. (Число одинаково к UNIX "среднее число загрузки" могло быть полезной метрикой, я не знаю, имеет ли Windows что-нибудь как он. В основном среднее количество потоков, которые хотят процессорное время для каждого интервала.)

Также проверьте очевидное, что у Вас не заканчивается пропускная способность.

1
ответ дан 5 December 2019 в 19:04
поделиться

Мера, мера, мера. Rico Mariani всегда говорит это, и он прав.

Измерьте req/sec, RAM, ЦП, Сессии, и т.д.

Можно придумать кэширующуюся стратегию (Кэширование вывода, кэширование данных, кэширование зависимостей, и так далее.)

См. также, как Ваш SQL Server делает..., индексы являются хорошим местом для запуска, но не единственная вещь посмотреть на..

1
ответ дан 5 December 2019 в 19:04
поделиться

На тех аппаратных средствах приложение.NET должно смочь служить приблизительно 200-400 запросам в секунду. Если у Вас есть только несколько сотен пользователей, я сомневаюсь, что Вы видите даже 2 запроса в секунду, таким образом, я думаю, что у Вас есть большая способность на том поле, даже с выполнением SQL-сервера.

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

Между прочим, если бы Вы не используете Выходной кэш, я запустил бы там.

0
ответ дан 5 December 2019 в 19:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: