powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сэмулировать ошибку Server too busy?
5 сообщений из 5, страница 1 из 1
Как сэмулировать ошибку Server too busy?
    #38429078
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К теме про доступные трэды в IIS. Для каждого application pool можно настроить количество запросов, после превышения которого сервер будет возвращать ошибку. Я установил эту queue length в 10, следовательно теоритически 11 запрос должен свалиться с ошибкой.

Создаю вот такой вебсервис (т.е. сервис спит 10 секунд):

Код: c#
1.
2.
3.
4.
5.
6.
[WebMethod]
        public string HelloWorld()
        {
            System.Threading.Thread.Sleep(10000);
            return "Hello World";
        }




Теперь создаю виндовое приложение, где в цикле запускаю 500 потоков которые одновременно ломяться к сервису:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
private void button1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i <= 500; i++)
            {
                BackgroundWorker bk = new BackgroundWorker();
                bk.DoWork += new DoWorkEventHandler(bk_DoWork);
                bk.RunWorkerAsync();
            }          
        }

        void bk_DoWork(object sender, DoWorkEventArgs e)
        {           
            ServiceReference1.Service1SoapClient cl = new WindowsFormsApplication1.ServiceReference1.Service1SoapClient();            
            BeginInvoke(new UpdateTextDelegate(UpdateText), new object[] { cl.HelloWorld() });
            
        }



Все работает . Все 500 запросов со временем отрабатывают. Kак такое может быть, и как заставить реквесты становиться в очередь?
...
Рейтинг: 0 / 0
Как сэмулировать ошибку Server too busy?
    #38429429
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Вы ожидаете ошибку 503 “Service Unavailable”
http://blogs.msdn.com/b/benjaminperkins/archive/2011/11/15/modify-the-request-queue-limit-requestqueuelimit-in-iis-7.aspx

2. На мой взгляд проблема в bk.RunWorkerAsync(); - Ваш клиент ничего не ждет и соответственно, получив 503 благополучно завершает request...

На мой взгляд для решения проблемы Вам надо ждать на клиенте завершения запроса и куда-то записывать результаты его выполнения (чтобы убедиться что действительно сервер возвращает 503)...
...
Рейтинг: 0 / 0
Как сэмулировать ошибку Server too busy?
    #38430594
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Ch1. Вы ожидаете ошибку 503 “Service Unavailable”
http://blogs.msdn.com/b/benjaminperkins/archive/2011/11/15/modify-the-request-queue-limit-requestqueuelimit-in-iis-7.aspx

2. На мой взгляд проблема в bk.RunWorkerAsync(); - Ваш клиент ничего не ждет и соответственно, получив 503 благополучно завершает request...

На мой взгляд для решения проблемы Вам надо ждать на клиенте завершения запроса и куда-то записывать результаты его выполнения (чтобы убедиться что действительно сервер возвращает 503)...
нет! клиент выводит HelloWorld в richtextbox, все эти записи там со временем появляются, т.е. все запросы отрабатывают правильно, а должны валиться, как так?
...
Рейтинг: 0 / 0
Как сэмулировать ошибку Server too busy?
    #38431109
VAlexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте прописать в app.config приложения

<system.net>
<connectionManagement>
<add address="*" maxconnection="500"/>
</connectionManagement>
</system.net>

По умолчанию, в каждому хосту открывается только 2 подключения, остальные ждут.
...
Рейтинг: 0 / 0
Как сэмулировать ошибку Server too busy?
    #38431611
Фотография Zick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Как сэмулировать ошибку Server too busy?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]