Олег: Правильно ли вы меня поняли? Речь не о загрузке файла с сервера методами бизнеслогики. Речь об ошибках в загрузке компонентов web-приложения стандартными способами:
protven: Тогда я правильно понял. Мне кажется, что для такого рода задач глубоких знаний в C# не требуется. Больше нужно понимать что делает браузер. Я с помощью CefSharp делал инжект скриптов на странице и крутил ею как хотел. Штука прикольная.
Взгляд Смерти: Ну а вы представьте, что "это" разрешили делать? Это ж как станет просто читать все файлы пользователя и отправлять их злоумышленникам! )))
Сейчас заработало намного шустрее чем раньше. Сказывается session_write_close() и добавление памяти на сервер. Поскольку повышение нагрузки на сервер не планируется, то такое решение устроит. Спасибо за совет и отдельное спасибо за ab. Не знал про неё.
1. ab не получится прогнать, т.к. сервер, куда делаются перезапросы требует аутентификации kerberos (забыл предупредить, что у меня включено делегирование).
4. Про блокировки сессий почитал. Отключил session_write_close(). Стало видно, что некоторые запросы стали ставиться в параллель, но в количестве 2-4 шт. Я сейчас тестирую всего лишь под 16 пользователями по 9 запроов с каждого. Но всё равно за 5 минут не успевают пройти все запросы.
Ещё момент - вспомогательный сервер работает под ssl - вполне себе приличная нагрузка на проц. Да и мой тоже под ssl работает. Попробую покопать в этом направлении тоже. Смотрел нагрузку - все ядра забиваются под 100%. Буду копать тут.
Как браузер может легко соглашаться с тем, что ему дали неверную длину body? Причём это молчаливое согласие есть у всех браузеров.