Сколько запросов SQL Server может обрабатывать в секунду?

Я использую JMeter для проверки производительности нашего приложения. но я обнаружил, когда отправляю 20 запросов от JMeter, по этой причине результатом должно быть добавление 20 новых записей в sql server, но я просто нахожу 5 новых записей, что означает, что SQL server отбрасывает другие запросы(потому что я взял журнал и убедитесь, что новые записи insert отправляются на sql server.)

У кого-нибудь есть идеи ? Какое пороговое число запросов может обрабатывать SQL server в секунду ? Или мне нужно сделать некоторую конфигурацию ?

да, в моем приложении я пробовал, но кажется, что принимаются только 5 запросов , я не знаю, как настроить, тогда он может принять больше.

5 ответов


Я не уверен, что nr запросов в секунду напрямую освобождается для SQL server, отбрасывая ваши вставки. Возможно, есть логическая ошибка приложения, которая откатывается или не фиксирует вставки. Или приложение не справляется с параллелизмом и вставляет данные, нарушающие ограничения. Я бы также проверил журналы сервера на наличие тупиков.


Это очень зависит от того, какой тип запросов вы делаете. У вас может быть много запросов, запрашивающих данные, которые уже находятся в буфере, так что доступ на чтение диска не требуется, или вы можете иметь чтения, которые на самом деле требуют доступа к диску. Если ваша база данных мала и у вас достаточно памяти, вы можете иметь все данные в памяти в любое время - доступ будет очень быстрым, вы можете получить 100+ запросов в секунду. Если вам нужно прочитать диск, вы зависимы от вашего оборудования. Я выбрал Контроллер UltraSCSI-160 с приводами UltraSCSI-160, самый быстрый вариант, который вы можете получить на платформе типа ПК. Я обрабатываю около 75 000 записей, каждую ночь (они скачали с другого сервера). Для каждого процесса записи I программа делает около 4 - 10 запросов, чтобы поместить новую запись в правильный "слот". Весь процесс занимает около 3 минут. Я запускаю это на машине AMD Athlon 850 МГц с 768 МБ оперативной памяти. Надеюсь, это даст вам некоторое представление о скорости.


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

включить журнал контекста данных следующим образом:

datacontext.Log = Console.Out;

в качестве примечания, я обрабатывал 10 000 транзакций в секунду в SQL Server, поэтому я не думаю, что это проблема.


чтобы получить контрольные тесты для SQL Server и других СУБД, посетите Обработка Производительности Совета Web


вы также можете использовать профиль Sql Server, чтобы проверить, как выполняются Ваши запросы