2009-05-26 5 views
2

У нас есть сайт, который работает на кластере Windows 2003 с 2 64-битными машинами.Сервер IIS 6.0 слишком занят HTTP 503 Connection_Dropped DefaultAppPool

Сайт должен быть в состоянии справиться с более чем 20 000 пользователей одновременно

Одна из вещей, что сайт делает, это разрешить загрузку файла 2MB (который кэшируется в памяти).

У нас мало использования процессора и памяти. У нас также есть избыточная полоса пропускания.

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

В журнале IIS мы получаем ошибки HTTP 503.

В журнале HTTPErr мы получаем главным образом Connection_Dropped DefaultAppPool с некоторыми Timer_EntityBody DefaultAppPool.

Вопрос: Как мы можем настроить IIS для большего количества подключений? Или есть что-то, чего я здесь не хватает?

Благодаря

Шираз

ответ

4

Мы запускаем этот рег-файл на всех наших сайтах с большим объемом.

Windows Registry Editor Version 5.00 


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] 
"EnablePMTUDiscovery"=dword:00000001 
"MaxUserPort"=dword:0000fffe 
"TCPTimedWaitDelay"=dword:0000003c 
"TCPMaxSendFree"=dword:0000ffff 
"SynAttackProtect"=dword:00000001 

Обратите внимание, что для этих изменений необходимо перезагрузить сервер.

См:

-2

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

+1

«сайт, который работает на кластере Windows 2003 с двумя 64-битными машинами» ... – Oli

0

Я не уверен, что это относится к IIS (хотя я не понимаю, почему это не так), но на серверах Linux я считаю, что отключить keep-alive помогает ограничить количество одновременных подключений.

И снова, это не может применяться, но я также считаю, что разгружая все статическое содержимое в другой, меньший сервере помогает держать вещи проворными (и будет массово уменьшить количество соединений, IIS имеет дело с). Большинство людей будут ходить с nginx или lighttpd. Это довольно просто, чтобы объединить их в новый поддомен.

0

вам необходимо установить предел очереди в IIS App пул

Смежные вопросы