|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Есть метод Web API, который запускается нагрузочным софтом 500 раз одновременно, и согласно внутреннему логу выполняется в среднем 200 мс, в то-же время нагрузочный софт показывает среднее время отклика 2.5 секунды. Т.е. это где-то в IIS что-то не успевает. Как это что-то найти и что можно подкрутить что-б уменьшить время отклика? С увеличением количества одновременных запросов время отклика растет, 1000 запросов в среднем потребляет уже 4.5 секунды ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 07:49 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordЕсть метод Web API, который запускается нагрузочным софтом 500 раз одновременно, и согласно внутреннему логу выполняется в среднем 200 мс, в то-же время нагрузочный софт показывает среднее время отклика 2.5 секунды. Т.е. это где-то в IIS что-то не успевает. Как это что-то найти и что можно подкрутить что-б уменьшить время отклика? С увеличением количества одновременных запросов время отклика растет, 1000 запросов в среднем потребляет уже 4.5 секунды Переписать метод WebAPI и сделать его асинхронным. Проблема с ограниченным количеством потоков в пуле уже не раз обсуждалась и мусолилась. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 08:48 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttПереписать метод WebAPI и сделать его асинхронным. Проблема с ограниченным количеством потоков в пуле уже не раз обсуждалась и мусолилась. не оказывает влияния, и даже (правда в пределах погрешности) замедляет среднее арифметическое отклика. Возможно потому, что сам по себе запрос занимает порядка 20-30 миллисекунд (не 200 как сначала написал) и асинхронное исполнение не дает каких-то преимуществ ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 09:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, откуда у вас инфа что не даст улучшения отклика? асинхроность дает улучшение но не 100%, завист от того как написано и как использутся потоки. Рекомендация хвоста имеет место. И то что в иисе кол-во потоков ограничено дает вам проблемку. я вижу тут решение в балансировщике и n-копиях приложения и тогда вы размажите пики по машинам. да 500 реквестом в секунду эт не мало уже так то имхо пс. включите внутрений лог ииса, может подскажет. insight врядли покажет к примеру так как вы говорите что у вас там 20мс ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 09:43 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuоткуда у вас инфа что не даст улучшения отклика? асинхроность дает улучшение но не 100%, завист от того как написано и как использутся потоки. Рекомендация хвоста имеет место. И то что в иисе кол-во потоков ограничено дает вам проблемку. я вижу тут решение в балансировщике и n-копиях приложения и тогда вы размажите пики по машинам. да 500 реквестом в секунду эт не мало уже так то имхо пс. включите внутрений лог ииса, может подскажет. insight врядли покажет к примеру так как вы говорите что у вас там 20мс инфа оттуда, что заменил в EF метод на асинхронный и запустил через нагрузочый софт, который мне и показал статистику. Я так понимаю асинхронность надо пихать не в каждый метод, а там, где запросы медленно выполняются. 30 миллисекунд судя по всему достаточно быстро что-бы никаких выгод не было, и даже возможно наоборот идет просадка из-за записка асинхронного потока ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 09:48 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordне оказывает влияния, и даже (правда в пределах погрешности) замедляет среднее арифметическое отклика. Возможно потому, что сам по себе запрос занимает порядка 20-30 миллисекунд (не 200 как сначала написал) и асинхронное исполнение не дает каких-то преимуществ Чёт мне лень разжёвывать очевидное. Ты не прав. Хочешь разобраться в чём и почему, нагуглишь, не хочешь, оставайся в неведении. stenfordЯ так понимаю асинхронность надо пихать не в каждый метод, а там, где запросы медленно выполняются. Там, где операцию можно выполнить асинхронно: работа с файлами, с БД, с сетевыми ресурсами. Медленно или не медленно, значения не имеет абсолютно никакого. Крайне редко «медленно» связанно именно с вычислениями. Что ты там делаешь, факториалы рассчитываешь что ли? stenfordдаже возможно наоборот идет просадка из-за записка асинхронного потока Просадка, значит? Ну это конечно да, просадка дело такое.. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 09:59 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVostt https://habrahabr.ru/post/142372/ Статья от бородатого 2012 года.Статья, мягко говоря, "так себе". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 10:21 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
oakenhVostt https://habrahabr.ru/post/142372/ Статья от бородатого 2012 года.Статья, мягко говоря, "так себе". Нормальная статья, на хабре придолбались к квалификации автора. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 10:36 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordинфа оттуда, что заменил в EF метод на асинхронный и запустил через нагрузочый софт, который мне и показал статистику. Я так понимаю асинхронность надо пихать не в каждый метод, а там, где запросы медленно выполняются. 30 миллисекунд судя по всему достаточно быстро что-бы никаких выгод не было, и даже возможно наоборот идет просадка из-за записка асинхронного потока про асинхроност ну чет аргумет слабенький с таким то тестом, я уже писал асинхроность не панацея и надо понимать зачем. ну 30мс эт 1 метод в бд или что? у тебя есть время ответа полное страницы со всеми запросами? чем мерил то? у тебя там какой нить Glimpse или MiniProfiler стоит? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 10:41 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttЧёт мне лень разжёвывать очевидное. Ты не прав. Хочешь разобраться в чём и почему, нагуглишь, не хочешь, оставайся в неведении. ок, асинхронное или нет не так и важно. Почему IIS из 40 миллисекунд делает 2 секунды? Чем он там занимается? Это при асинхронном запуске если что. Как можно это дело оптимизировать? Или только лоад балансер с несколькими серверами тут поможет? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:17 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuпро асинхроност ну чет аргумет слабенький с таким то тестом, я уже писал асинхроность не панацея и надо понимать зачем. ну 30мс эт 1 метод в бд или что? у тебя есть время ответа полное страницы со всеми запросами? чем мерил то? у тебя там какой нить Glimpse или MiniProfiler стоит? 30 мс - это целиком весь процессинг web api, от момента первого message handler'a, до его-же но уже на выходе, я там лог привинтил который меряет затраченное время. Т.е. сам непосредственно запрос к БД еще меньше будет. Нагрузочный софт это jmeter. Но похожих результатов можно и в фиддлере добится, если ты скажем запустишь такой метод: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
раз 400, то разницы между блокирующим и асинхронным результатом в проиводительности почти не будет. Вот где-то с 50 миллисекунд она начинает появлятся, и скажем если поставить 300, то будет уже совсем чувствительно ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:28 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, воспользуйтесь Performance Monitor-ом, возможно запросы встают в очередь ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 11:57 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, ок понял. а пробовал config.EnableSystemDiagnosticsTracing(); и логи смотреть? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 12:17 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, https://robinsedlaczek.com/2014/05/20/improve-server-performance-with-asynchronous-webapi/ эт по поводу асинхронсти статья подробненькая ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 12:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRustenford, https://robinsedlaczek.com/2014/05/20/improve-server-performance-with-asynchronous-webapi/ эт по поводу асинхронсти статья подробненькая Эта статья лучше, чем я привёл, но суть та же ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 13:10 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVostt, да но если у него очередь забилась но поможет. надо увеличивать тридпул (дешевое решение вертикальное) или размазывать по сервакам. я вот не нашел инфы как с 4.0 считается кол-во потоков в пуле на процесс. раньше было 1 ядро процессора = 20-25 потоков. по умолчанию, конечно можно увеличить цифру ценой памяти 1 поток 1 мб памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 13:27 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuда но если у него очередь забилась но поможет. надо увеличивать тридпул (дешевое решение вертикальное) или размазывать по сервакам. я вот не нашел инфы как с 4.0 считается кол-во потоков в пуле на процесс. раньше было 1 ядро процессора = 20-25 потоков. по умолчанию, конечно можно увеличить цифру ценой памяти 1 поток 1 мб памяти. Можно и размазать по сервакам. Но это ни разу не отменяет, что по умолчанию при работе с I/O операциями надо делать асинхронные экшены. Это сильно оттянет необходимость масштабироваться и тюнить количество потоков. Так-то их лучше и не трогать вовсе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2017, 14:24 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Пока читал тут ссылки по поводу потоков, нашел одно очень полезное замечание Pop quiz: If you have a thread that is doing a lot of computational work and using the CPU heavily, and this takes a while, should you switch to another thread? No! The current thread is efficiently using the CPU, so switching will only incur the cost of a context switch. Ok, well, what if you have a thread that makes an HTTP or SOAP request to another server and takes a long time, should you switch threads? Yes! You can perform the HTTP or SOAP request asynchronously, so that once the "send" has occurred, you can unwind the current thread and not use any threads until there is an I/O completion for the "receive". Between the "send" and the "receive", the remote server is busy, so locally you don't need to be blocking on a thread, but instead make use of the asynchronous APIs provided in .NET Framework so that you can unwind and be notified upon completion. https://blogs.msdn.microsoft.com/tmarq/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications/ По сути оно означает, что утверждение о необходимости асинхронного выполнения в asp.net не всегда верно. Т.е. я запустил что-то что грузит проц, то никакого переключения не нужно и только вредит т.к. необходимо переключение контекста. То-же самое видимо относится и к обсуждению выше про очень маленькие запросы < 50 мс, когда пользы от переключения контекста нет никакого. А вот длинные запросы, когда мы запросили sql server и он там думает полсекунды - уже есть т.к. не нужен никакой поток что-бы просто ждать. Т.е. насколько я понимаю ситуация следующая: Пришло 500 одновременных запросов к IIS. Сервер не может создать 500 потоков просто потому, что это нерационально с точки зрения операционки и он ограничен 25-50 потоками на процессор. Поэтому если методы блокирующие, то одновременно исполняется 50 запросов, остальные ждут. Если методы асинхронные, то метод запускает запрос к sql server, после чего поток освобождается т.к. что-бы ждать ответ никакой поток не нужен. Когда через полсекунды приходит ответ - то из пула в 50 потоков запрашивается один для генерации ответа. Отсюда следует, что сам я недолжен создавать никакие потоки т.к. эффект будет аналогичен блокирующему методу. Смысл асинхронных методов исключительно в том, что для ожидания ответа от другого сервера поток не нужен. Если для обработки метода создается поток на этой-же машине - то толку от такого асинхронного метода тоже нет. Все верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 06:57 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordПо сути оно означает, что утверждение о необходимости асинхронного выполнения в asp.net не всегда верно.Асинхронное выполнение в Asp.Net это не необходимость, это способ оптимизации, позволяющий повысить производительность при определённых условиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 07:40 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordПо сути оно означает, что утверждение о необходимости асинхронного выполнения в asp.net не всегда верно. Где утверждается подобное? Чёт я такого не видел. stenfordТ.е. я запустил что-то что грузит проц, то никакого переключения не нужно и только вредит т.к. необходимо переключение контекста. Речь идёт только о I/O bound операциях. Для сложных вычислительных задач асинхронность не нужна. До тех пор, пока она не будет вынесена в отдельный сервис. stenfordТо-же самое видимо относится и к обсуждению выше про очень маленькие запросы < 50 мс, когда пользы от переключения контекста нет никакого. А вот длинные запросы, когда мы запросили sql server и он там думает полсекунды - уже есть т.к. не нужен никакой поток что-бы просто ждать. А вот здесь ты начинаешь выдумывать. Какие 50 мс? Если у тебя I/O операция, смысл сделать работу с ней асинхронной. И это верно при любых раскладах. По какие секунды идёт речь?? Я же давал ссылку, нет там никаких полсекунд и уж тем более секунд. Однако добавление асинхронности сильно изменило ситуацию под нагрузкой. Короче хватит выдумывать. Есть простой правило: CPU bound синхронно, I/O bound асинхронно. И ничего не надо придумывать и фантазировать. Точка. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 07:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordОтсюда следует, что сам я недолжен создавать никакие потоки т.к. эффект будет аналогичен блокирующему методу. Смысл асинхронных методов исключительно в том, что для ожидания ответа от другого сервера поток не нужен. Если для обработки метода создается поток на этой-же машине - то толку от такого асинхронного метода тоже нет. Все верно? Не верно ни разу. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 07:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttНе верно ни разу. тем не менее, в приведенной ссылке утверждается именно это Q4) Should I create my own threads (new Thread)? Won’t this be better for ASP.NET, since it uses the CLR ThreadPool. A4) Please don’t. Or to put it a different way, no!!! If you’re really smart—much smarter than me—then you can create your own threads; otherwise, don’t even think about it. Here are some reasons why you should not frequently create new threads: 1) It is very expensive, compared to QueueUserWorkItem. 2) Before you allow your thread to exit, you must check for pending I/O because your new thread might call into a .NET Framework API that initiates an asynchronous operation, and there’s really no way for you to know whether or not this happened unless you don’t call into framework APIs. 3) The performance of the system hinges on the fact that only a reasonable number of threads are executing at any given time , and if you start creating your own threads it will then become your responsibility to maintain performance of the system. By the way, if you can write a better ThreadPool than the CLR’s, I encourage you to apply for a job at Microsoft, because we’re definitely looking for people like you! т.е. как я говорил идея такая, что в системе должно быть быть ограниченное число потоков, скажем 50 на проц. Именно на этом факте зиждется это ограничение IIS, иначе-бы оно без проблем просто создало 500 потоков и не морочило нам голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 08:09 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttА вот здесь ты начинаешь выдумывать. Какие 50 мс? Если у тебя I/O операция, смысл сделать работу с ней асинхронной. И это верно при любых раскладах. По какие секунды идёт речь?? Я же давал ссылку, нет там никаких полсекунд и уж тем более секунд. Однако добавление асинхронности сильно изменило ситуацию под нагрузкой. Короче хватит выдумывать. Есть простой правило: CPU bound синхронно, I/O bound асинхронно. И ничего не надо придумывать и фантазировать. Точка. 50 мс исходя из моих тестов. Вопрос не в конкретно 50 мс, а в том, что на краткосрочную операцию переключение контекста перевесит выгоду от неиспользования потока ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 08:11 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, иис устроен так что берет потоки на реквест из тридпула для своего процесса, не надо просто так создавать потоки, это разумно. колв-о потоков на процесс можно управлять, если просто хреначит потоки на каждый реквест то в определеную цифру у тебя процессор не справиться или все ресурсы выжрет, а так оно ждет ожидания выполнения. Создание процесса дело накладное, а так у тебя есть набор который жаждет что сделать. увеличь тридпул в коде на свой процесс ценой выжирания больше памяти.. думаю 500 реквестов в секунду таким образом можно поглодить. у so я когда то посчитал по их статье выходило 2500 реквестов в секунду. п.с. посмотри сколько у тебя щас активный потоков по умолчанию и задай цифру побольше https://msdn.microsoft.com/ru-ru/library/system.threading.threadpool.setmaxthreads(v=vs.110).aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 08:19 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVostt ты очень строгий, помягче надо) я тут задумался сам теоретически сколько можно реквест в секунду отрабатываться на иис? смотрю коре нет тесты и там якобы на "hello world" поl лям что как бы много на 1 тачку https://github.com/aspnet/benchmarks. возможно эт может стать причиной да миграции на core net если из машины можно больше выжать. есть у кого такой опыт, можете поделиться? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 08:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRustenford, иис устроен так что берет потоки на реквест из тридпула для своего процесса, не надо просто так создавать потоки, это разумно. колв-о потоков на процесс можно управлять, если просто хреначит потоки на каждый реквест то в определеную цифру у тебя процессор не справиться или все ресурсы выжрет, а так оно ждет ожидания выполнения. Создание процесса дело накладное, а так у тебя есть набор который жаждет что сделать. увеличь тридпул в коде на свой процесс ценой выжирания больше памяти.. думаю 500 реквестов в секунду таким образом можно поглодить. у so я когда то посчитал по их статье выходило 2500 реквестов в секунду. п.с. посмотри сколько у тебя щас активный потоков по умолчанию и задай цифру побольше https://msdn.microsoft.com/ru-ru/library/system.threading.threadpool.setmaxthreads(v=vs.110).aspx имеется ввиду вот эта настройка, верно? Я так понял что это где-то в файле машинного конфига ставится, пока с ней не игрался. Вообще, threadpool он на все машину общий, верно? Т.е. теоретически если я поставлю 50 потоков на процессор, и они все займутся моими реквестами, то все остальные процессы на машине (всякие сервисы и прочее) начнут от этого страдать, верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 08:39 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford50 мс исходя из моих тестов. Вопрос не в конкретно 50 мс, а в том, что на краткосрочную операцию переключение контекста перевесит выгоду от неиспользования потока Уже замерил издержки на переключение контекста? Что тебя так пугает не пойму? stenfordИменно на этом факте зиждется это ограничение IIS, иначе-бы оно без проблем просто создало 500 потоков и не морочило нам голову. Расскажи это разработчикам на node.js, у которого вообще всего 1 рабочий поток и обработка запросов полностью асинхронная 100%. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuhVostt ты очень строгий, помягче надо) Согласен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuя тут задумался сам теоретически сколько можно реквест в секунду отрабатываться на иис? смотрю коре нет тесты и там якобы на "hello world" поl лям что как бы много на 1 тачку https://github.com/aspnet/benchmarks. возможно эт может стать причиной да миграции на core net если из машины можно больше выжать. есть у кого такой опыт, можете поделиться? У нас был опыт (не на Core) переписывания всех контроллеров на асинхронные, и переписывания всех слоёв на async-first. Как следствие мы получили колоссальное повышение производительности. Мы смогли убрать 3 сервера (из 6) из кластера, и получить ту же производительность обработки запросов. Ранее, 3 инстанса не справлялось. Сейчас на Core мы разрабатываем в режиме async-first. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, тридпул на процесс. естественно что если ты увеличишь кол-во потоков они будут больше брать ресурсов процессора при активной работе hVosttРасскажи это разработчикам на node.js, у которого вообще всего 1 рабочий поток и обработка запросов полностью асинхронная 100%. ага вот тока автор node.js говорит что на серваке надо использовать golang теперь по ряду плюшек) в том числе и честная многопоточность + асинхроность. да нода хайп имхо hVostt, а есть замеры кол-ва реквестов на 1 сервак у вас когда было и как стало? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:29 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, а Performance Monitor что показывает-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Имеется в виду Windows Performance Monitor, а не плагин к JMeter. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:48 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Ссылки по теме: https://msdn.microsoft.com/en-us/library/7w2sway1(VS.80).aspx https://support.microsoft.com/ru-ru/help/821268/contention--poor-performance--and-deadlocks-when-you-make-calls-to-web https://blogs.msdn.microsoft.com/tmarq/2007/07/20/asp-net-thread-usage-on-iis-7-5-iis-7-0-and-iis-6-0/ https://blogs.msdn.microsoft.com/webtopics/2009/02/13/asp-net-hang-in-iis-7-0/ ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 09:55 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuага вот тока автор node.js говорит что на серваке надо использовать golang теперь по ряду плюшек) в том числе и честная многопоточность + асинхроность. да нода хайп имхо Ну это я грубо очертил, что издержки на работу асинхронного кода не существенны в рамках веб-сервера. Так-то да. handmadeFromRuhVostt, а есть замеры кол-ва реквестов на 1 сервак у вас когда было и как стало? Количество реквестов то же. Замеры были, сейчас их не смогу привести, это было больше пол года назад. Пиковое около 1000 пользователей одновременно когда рабочие часы по всей России совпадали :) Так как это не банальное отображение страниц, а интенсивная работа с данными, начались проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 10:18 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttУже замерил издержки на переключение контекста? Что тебя так пугает не пойму? меня ничего не пугает, я просто говорю что краткосрочные асинк вызовы не принесут пользы, и об этом написано в том числе и в обсуждаемых линках. То, как делать это на практике это другой вопрос, и логично будет следовать конвенции что все дб вызовы делались ансинхронно просто потому, что так удобнее в командной разработке. Но я сейчас в теории разбираюсь, а не в конвенциях ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 11:04 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordменя ничего не пугает, я просто говорю что краткосрочные асинк вызовы не принесут пользы, и об этом написано в том числе и в обсуждаемых линках. То, как делать это на практике это другой вопрос, и логично будет следовать конвенции что все дб вызовы делались ансинхронно просто потому, что так удобнее в командной разработке. Но я сейчас в теории разбираюсь, а не в конвенциях Ясно.. Что ничего не ясно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2017, 15:16 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuп.с. посмотри сколько у тебя щас активный потоков по умолчанию и задай цифру побольше https://msdn.microsoft.com/ru-ru/library/system.threading.threadpool.setmaxthreads(v=vs.110).aspx установка количества потоков не помогает. Thread.GetAvailableThreads() вообще выдает 32760 доступных потоков, а при загрузке 500 юзерами их число снижается примерно на 15-20, а ни как не на 500, т.е. несмотря на то, что потоки в пуле есть - IIS их просто не использует и выстраивает очередь. Вычитал, что Thread Pool не выдает сразу 500 потоков даже если есть в них потребность, типа защитная фича, он с промежутком где-то в секунду-две выдает сколько-то там потоков. Это видимо то, что и происходит. Это будет видно если провести следующий эксперимент - запихать следующий код в message handler: Код: c# 1.
Он создает новый поток, который просто спит. Так вот на 500 юзерах это полностью валит сервер, т.е. очевидно что потоки просто не выдаются из пула, несмотря на то, что их там 32 тыщи доступных. Thread.SetMinThreads(), который теоретически должен фиксить это тоже ничем не помогает. Также установка в machine.config настоек потоков, которые должны фиксить данную ситуацию для IIS тоже имеют нулевой эффект: Код: xml 1.
Как и Threads per Processor Limit. В общем хорошо майкрософт защитились, наделали переключателей и просто не обращают на них внимание. Как-же заставить тогда IIS обрабатывать такие сценарии-то? Зачем такую жадную логику туда накрутили, ведь ограничение по потокам имеет смысл только в случае когда потоки крутяться на это-же самой машине, а веб сервер в основном открывает async потоки, которые не грузят процессор ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 04:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, во первых autoConfig="true" надо убрать во вторых что показывает Performance Monitor? на какой нагрузке запросы начинают вставать в очередь, сколько при этом выполняется, сколько всего, каково время выполнения? и зачем все это нужно? 500 запросов в секунду - это 43 200 000 запросов в сутки откуда Вы столько планируете получить? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 08:22 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAstenford, во первых autoConfig="true" надо убрать во вторых что показывает Performance Monitor? на какой нагрузке запросы начинают вставать в очередь, сколько при этом выполняется, сколько всего, каково время выполнения? и зачем все это нужно? 500 запросов в секунду - это 43 200 000 запросов в сутки откуда Вы столько планируете получить? круто, спасибо, вот сейчас сразу зашевелилась в несколько раз быстрее на "тяжелых" (занимающих сотню-другую мс) запросах. Надо посмотреть только что там с рекомендованными значениями этих параметров, а то непонятно почему по умолчанию стоят настолько низкие. Тем не менее, на "быстрых" запросах (порядка 50 мс на запрос) ситуация примерно такая-же, как и была, либо улучшилась незначительно. Performance Monitor я не запускал, с ним разбираться надо как там счетчики нужные активировать, пока времени нет. В Task Manager'e показатели памяти, процессора и диска вообще почти не меняются, только активность сетки резко подскакивает, возможно она стала узким местом тут. JMeter показывает картинку ниже, это 500 запросов, видно что отклики начинаются примерно с одной секунды, и линейно растут пока не достигают 3.6 секунды. Среднее выходит 1.8 500 запросов - это техзадание. Надо что-бы прошел стресс-тест на 500 запросов, и запросы не вылезли за несколько секунд. И если "легкие" запросы еще ничего, 1.8 секунды это нормально, "тяжелые" начинают выдавать среднее под 10-15 секунд. Хотя сейчас уменьшилось под 2-3 секунды с этими настройками ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 09:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford500 запросов - это техзадание. Надо что-бы прошел стресс-тест на 500 запросов, и запросы не вылезли за несколько секунд. И если "легкие" запросы еще ничего, 1.8 секунды это нормально, "тяжелые" начинают выдавать среднее под 10-15 секунд. Хотя сейчас уменьшилось под 2-3 секунды с этими настройками ТЗ это ок, можно нацелиться на этот результат. Что будете делать, когда появятся пики по 1000+? Дальше ковырять конфиги и пытаться всё нарулить количеством выделенных потоков? Я всё ещё не понимаю, чё вы так упёрлись в потоки? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 09:46 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAstenford, во первых autoConfig="true" надо убрать во вторых что показывает Performance Monitor? на какой нагрузке запросы начинают вставать в очередь, сколько при этом выполняется, сколько всего, каково время выполнения? и зачем все это нужно? 500 запросов в секунду - это 43 200 000 запросов в сутки откуда Вы столько планируете получить? круто, спасибо, вот сейчас сразу зашевелилась в несколько раз быстрее на "тяжелых" (занимающих сотню-другую мс) запросах. Надо посмотреть только что там с рекомендованными значениями этих параметров, а то непонятно почему по умолчанию стоят настолько низкие.Рекомендованные значения смотрите по ссылкам выше. А почему autoConfig="true" выдаёт "настолько низкие" - хз. Это надо смотреть на ваш сервер. stenfordТем не менее, на "быстрых" запросах (порядка 50 мс на запрос) ситуация примерно такая-же, как и была, либо улучшилась незначительно.Хм, гадать я не привык, а метрики Вы не даёте. stenfordPerformance Monitor я не запускал, с ним разбираться надо как там счетчики нужные активировать, пока времени нет.Как как, мышкой натыкать :) stenfordВ Task Manager'e показатели памяти, процессора и диска вообще почти не меняются, только активность сетки резко подскакивает, возможно она стала узким местом тут.Возможно. stenford500 запросов - это техзадание. Надо что-бы прошел стресс-тест на 500 запросов, и запросы не вылезли за несколько секунд.Ясно. Советаю таки разобраться с Performance Monitor. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 10:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttТЗ это ок, можно нацелиться на этот результат. Что будете делать, когда появятся пики по 1000+? Дальше ковырять конфиги и пытаться всё нарулить количеством выделенных потоков? когда потребуется 1000, то это сначала вписывается в спецификацию, теститься на существующем железе, подкручиваются параметры типа тех что выше, если не помогает, то я согласен что надо выявлять узкое место Performance Monitor'ом, после чего выдавать новые характеристики рекомендуемого железа. hVosttЯ всё ещё не понимаю, чё вы так упёрлись в потоки? это не я уперся, это IIS уперся и не дает потоки, пока ему явно это не скажешь. В общем по итогам топика получается следующая стратегия при разработке web api: - IIS (точнее CLR thread pool) по умолчанию выделяет очень мало потоков из соображений оптимальности, и следовательно они являются ценным ресурсом - Все операции по вызову БД или сторонних сервисов заворачиваются в async для экономии потоков IIS - При тестировании, если время отклика слишком большое, то в машинном конфиге надо увеличить количество одновременно выполняемых потоков, но только при условии, что эти потоки занимаются асинхронными вызовами и реально не нагружают систему. На самом деле это 99% всех вебсервисов т.к. они все работают с базами данных. Если-же сервис занимается обработкой чего-то у себя в памяти, то лучше ничего не трогать - Если это не помогает, то выяснять Performance Monitor'ом узкое место т.к. значит уже уперлись в физические ресурсы ... |
|||
:
Нравится:
Не нравится:
|
|||
08.09.2017, 11:45 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordкогда потребуется 1000, то это сначала вписывается в спецификацию, теститься на существующем железе, подкручиваются параметры типа тех что выше, если не помогает, то я согласен что надо выявлять узкое место Performance Monitor'ом, после чего выдавать новые характеристики рекомендуемого железа. вот даже не знаю что сказать. сегодня какой год? разве так решают сегодня проблему хайлоад? я очень сомневаюсь, что вы, не обладая парком машин разных конфигураций, чтобы провести полноценный съём бенчей, сможете выдать адекватные «новые характеристики рекомендуемого железа», разве что не с потолка. stenfordэто не я уперся, это IIS уперся и не дает потоки, пока ему явно это не скажешь. а толку от того, что он их будет давать? вы решаете не реальную задачу, а выдуманную, которая не имеет никакого отношения к реальности. примерно, как мне защититься от кирпичей, падающих на меня с домов, когда я выйду на улицу? если у вас операции асинхронные, делайте async, и проблема с потоками решается, до определённых границ конечно, но за рамками этих границ вас уже не спасут никакое количество потоков. если у вас операции вычислительные, то увеличение количества потоков это как сшить не одну, а 8 шапок из одной и той же шкуры. разрешаю воспользоваться логикой stenfordВ общем по итогам топика получается следующая стратегия при разработке web api: не очень похоже на стратегию, да и не вижу ничего про горизонтальное масштабирование. поэтому это всё как-то курам на смех, учитывая что нагрузка в веб приложениях никогда почти не бывает линейная и может подскакивать до огромных показателей, а вы к этому совершенно не готовы. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 01:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttвот даже не знаю что сказать. сегодня какой год? разве так решают сегодня проблему хайлоад? я очень сомневаюсь, что вы, не обладая парком машин разных конфигураций, чтобы провести полноценный съём бенчей, сможете выдать адекватные «новые характеристики рекомендуемого железа», разве что не с потолка. именно так всегда и решали, временами просто аппроксимируя железо если требования возрастали к уже существующей системе. Как провайдер, мы сами определяем софт и железо, который клиент обязан обеспечить что-бы выполнялись его требования к софту. Никакого парка различных конфигураций нет и не нужно, это все решается созданием виртуалок с описываемыми требованиями, либо в простых случаях обходятся и без виртуалок, это собственно проблема админов и QA, а не разработчиков, как все это дело тестировать Интересно послушать конечно каким-же образом вы решаете проблему требований к железу не имея возможности их тестировать hVosttа толку от того, что он их будет давать? вы решаете не реальную задачу, а выдуманную, которая не имеет никакого отношения к реальности. примерно, как мне защититься от кирпичей, падающих на меня с домов, когда я выйду на улицу? если у вас операции асинхронные, делайте async, и проблема с потоками решается, до определённых границ конечно, но за рамками этих границ вас уже не спасут никакое количество потоков. если у вас операции вычислительные, то увеличение количества потоков это как сшить не одну, а 8 шапок из одной и той же шкуры. разрешаю воспользоваться логикой задача реальная, и именно так клиент (как я понимаю) собирается тестировать наш софт. Это раз. А два, что это вполне адекватный подход с их стороны на мой взгляд, т.к. опять-же у них требование обеспечить полноценную работу 500 юзеров, и система не должна подвиснуть больше чем на 2-3 секунды в таких случаях. Выставив в их конфиге повышенное число потоков мы эту задачу получается решим. Это то, что и требуется. И судя по всему, именно так это и должно быть в принципе т.к. очевидно майкрософтовские дефолты расчитаны на работу сервера в "одиночку". Наш-же аппсервер во всех своих методах делает БД запросы. Следовательно, дефолтные значения в машинном конфиге неоптимальны по определению hVosttне очень похоже на стратегию, да и не вижу ничего про горизонтальное масштабирование. поэтому это всё как-то курам на смех, учитывая что нагрузка в веб приложениях никогда почти не бывает линейная и может подскакивать до огромных показателей, а вы к этому совершенно не готовы. Совершенно неконструктивная критика. Если с чем-то несогласны, то и пишите конкретно с чем и почему. Что значит не бывает линейная и может подскакивать до огромных показателей ? Это именно то, что мы тут уже 2 страницы обсуждаем - нелинейный подскок до 500 запросов. Больше не будет т.к. это клиент указал в своих требованиях. Если он посадит 1000 пользователей без консультации с нами, то это не наша проблема. Решение выявлено - тьюнить дефолты машинного конфига до момента, пока не перестает помогать. После чего идет расшивка узких мест в железе. Вертикальная или горизонтальная не особо относится к данному топику т.к. это задача не разработчиков, а админов. Скорее всего да, создадут несколько серверов и посадят их на лоад балансер. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 02:34 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, если не секрет, а сколько у клиента вообще пользователей? Что за предметная область? У него уже есть какой-то софт? И почему вы не отвечаете за то, что будет при их росте? Вроде обычно интересуются что у клиента будет в ближайшей перспективе. P.S.: ну и удивительно, что вы решаете такую задачу без вменяемого мониторинга на стенде. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 08:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordНикакого парка различных конфигураций нет и не нужно, это все решается созданием виртуалок с описываемыми требованиями, либо в простых случаях обходятся и без виртуалок, это собственно проблема админов и QA, а не разработчиков, как все это дело тестировать Как виртуалки позволяют протестировать различное железо из представленного на рынке? stenfordИнтересно послушать конечно каким-же образом вы решаете проблему требований к железу не имея возможности их тестировать Проводим нагрузочное тестирование, тестируем не железо, а всю систему. stenfordзадача реальная, и именно так клиент (как я понимаю) собирается тестировать наш софт. Это раз. А два, что это вполне адекватный подход с их стороны на мой взгляд, т.к. опять-же у них требование обеспечить полноценную работу 500 юзеров, и система не должна подвиснуть больше чем на 2-3 секунды в таких случаях. Если вы собираетесь обеспечить одновременную работу 500 юзеров, то пик запросов у вас будет гораздо выше, чем 500. Но наверное вы и сами в курсе. Просто пишите странные и непонятные вещи :) stenfordИ судя по всему, именно так это и должно быть в принципе т.к. очевидно майкрософтовские дефолты расчитаны на работу сервера в "одиночку". Наш-же аппсервер во всех своих методах делает БД запросы. Следовательно, дефолтные значения в машинном конфиге неоптимальны по определению Т.е. не позволяют вам работать в потолок ресурсов? stenfordСледовательно, дефолтные значения в машинном конфиге неоптимальны по определению Ну да, в Microsoft работают немного туповатые люди. Что с них взять.. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2017, 21:33 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAесли не секрет, а сколько у клиента вообще пользователей? Что за предметная область? У него уже есть какой-то софт? И почему вы не отвечаете за то, что будет при их росте? Вроде обычно интересуются что у клиента будет в ближайшей перспективе. P.S.: ну и удивительно, что вы решаете такую задачу без вменяемого мониторинга на стенде. думаю 500 и есть, либо планируется скоро. При росте в > 500 пользователей, как я написал, мы после тестирования скажем им нужен-ли апгрейд т.к. это выходит за пределы подписанной спецификации. Такие ограничения есть всегда если есть требования к производительности На стенде это еще не обкатано, и он сам-то еще не создан т.к. система не закончена. Все данные тут были с моей машины. Предметная область тут не играет особой роли ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2017, 02:25 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttКак виртуалки позволяют протестировать различное железо из представленного на рынке? хех, действительно, а какой год на улице ;) Виртуалки позволяют тестировать не разновидности железяк, а ресурсы выделяемые системе. Там задается процессорная мощность, рам, диски и все остальное. И скажу более того, как минимум несколько клиентов у нас именно так и хостят потом системы, никто давно уже не покупает сервера под систему с набором железяк из спецификации, ставится шина, на которой крутятся десятки или сотни виртуалок для всех систем компании, и каждой из которых на шине выделены необходимые ресурсы. hVosttЕсли вы собираетесь обеспечить одновременную работу 500 юзеров, то пик запросов у вас будет гораздо выше, чем 500. Но наверное вы и сами в курсе. Просто пишите странные и непонятные вещи :) не должно быть сильно выше, и вообще думаю ситуация, которую симулирует стресс тест, в реальной работе вряд-ли вообще произойдет. При создании 500 запросов например фиддлером, никаких 3 секунд нет, там где-то значительно меньше секунды было т.к. фиддлер посылает их последовательно, хоть и очень быстро, но IIS успевает обработать запросы. hVosttТ.е. не позволяют вам работать в потолок ресурсов? в потолок ресурсов при одиночном сервере, который сам производит обработку, а не отсылает ее по сети в другое место. И не в "потолок" даже, а просто переключение контекста просто становится неэффективным ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2017, 02:50 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAесли не секрет, а сколько у клиента вообще пользователей? Что за предметная область? У него уже есть какой-то софт? И почему вы не отвечаете за то, что будет при их росте? Вроде обычно интересуются что у клиента будет в ближайшей перспективе. P.S.: ну и удивительно, что вы решаете такую задачу без вменяемого мониторинга на стенде. думаю 500 и есть, либо планируется скоро. При росте в > 500 пользователей, как я написал, мы после тестирования скажем им нужен-ли апгрейд т.к. это выходит за пределы подписанной спецификации. Такие ограничения есть всегда если есть требования к производительности На стенде это еще не обкатано, и он сам-то еще не создан т.к. система не закончена. Все данные тут были с моей машины. Предметная область тут не играет особой роли Всего 500? Тогда Вы страдаете фигней. У нас более восьми миллионов. И они далеко не часто создают ту нагрузку, что Вы тестируете. Вы возьмите в руки калькулятор и посчитайте сколько должно быть пользователей, чтобы обеспечить постоянную рабочую нагрузку хотяб 10 запросов в секунду. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2017, 13:30 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordхех, действительно, а какой год на улице ;) Виртуалки позволяют тестировать не разновидности железяк, а ресурсы выделяемые системе. Там задается процессорная мощность, рам, диски и все остальное. И скажу более того, как минимум несколько клиентов у нас именно так и хостят потом системы, никто давно уже не покупает сервера под систему с набором железяк из спецификации, ставится шина, на которой крутятся десятки или сотни виртуалок для всех систем компании, и каждой из которых на шине выделены необходимые ресурсы. Серьёзно? Я на офисном буке смогу провести тестирование серверного железа в виртуалке? ..ещё смешнее, если это заявляется на серьёзных щах stenfordв потолок ресурсов при одиночном сервере, который сам производит обработку, а не отсылает ее по сети в другое место. И не в "потолок" даже, а просто переключение контекста просто становится неэффективным Да что за бред-то про не эффективное переключение контекста?? Очевидную хрень-то может уже хватит нести?.. ну что за люди... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2017, 17:49 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAВсего 500? Тогда Вы страдаете фигней. У нас более восьми миллионов. И они далеко не часто создают ту нагрузку, что Вы тестируете. Вы возьмите в руки калькулятор и посчитайте сколько должно быть пользователей, чтобы обеспечить постоянную рабочую нагрузку хотяб 10 запросов в секунду. 8 миллионов одновременно? И как вы производили стресс тестирование? Скажем если условно все 8 миллионов нажмут одну и ту-же кнопку? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 02:33 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford- При тестировании, если время отклика слишком большое, то в машинном конфиге надо увеличить количество одновременно выполняемых потоков, но только при условии, что эти потоки занимаются асинхронными вызовами и реально не нагружают систему. На самом деле это 99% всех вебсервисов т.к. они все работают с базами данных. Если-же сервис занимается обработкой чего-то у себя в памяти, то лучше ничего не трогать так, тут будет следующая поправка: В IIS7 по умолчанию maxConcurrentRequestsPerCPU="5000", что фактически делает количество запросов (не потоков) обрабатываемых одновременно очень большим. Т.е. если вебсервер вообще не имеет особой логики и все асинхронно процессится на сервере БД, то улучшить пропускную способность IIS конфигурационными настройками по-сути нельзя (если запросов < 5000) т.к. сервер реально не нагружен даже при тысячах запросов т.к. они реально ничего не делают, а просто ждут. В IIS7 регулировать количество именно потоков напрямую невозможно. https://blogs.msdn.microsoft.com/tmarq/2007/07/20/asp-net-thread-usage-on-iis-7-5-iis-7-0-and-iis-6-0/ Однако, если метод не 100% асинхронный (идут какие-то расчеты после получения данных из БД, логирование итп), то вот тут-то и вступают в игру параметры настройки CLR пула maxWorkerThreads, minWorkerThreads, maxIoThreads, minIoThreads из машинного конфига. Эти настройки помогут в ситуации, когда происходит резкое "взрывное" увеличение "блокирующих" запросов (т.е. не 100% асинхронных), прямо как у меня со стрессовым тестированием. Т.к. CLR пул по умолчанию увеличивает количество потоков очень медленно, эти настройки помогут справится с такой нагрузкой, но ценой памяти сервера. Вообще хороший вопрос стоит-ли их менять на продакшене, т.к. стрессовое тестирование тут довольно искуственный пример нагрузки, а держать увеличенное число поток в памяти отразится на работе сервера в обычном режиме В общем не надо получается путать реквесты и потоки, их настройка изменилась в IIS7, до этого регулировались именно "потоки", а сейчас они абстрагировались в "реквесты", что вносит эту путаницу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 04:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordпрямо как у меня со стрессовым тестированием Которое не имеет никакого отношения к реальности. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 04:45 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordСкажем если условно все 8 миллионов нажмут одну и ту-же кнопку? Это примерно тоже самое, если прикидывать, а что будет, если в многоэтажный дом зайдут столько людей, чтобы занять собой всю доступную жилую площадь, вплотную. И при этом возникнет пожар. Ясно, что существующие пожарные выходы абсолютно не помогут. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 04:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttКоторое не имеет никакого отношения к реальности. раз уж существуют стресс-тесты, значит к реальности это какое-то отношение имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 06:08 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAВсего 500? Тогда Вы страдаете фигней. У нас более восьми миллионов. И они далеко не часто создают ту нагрузку, что Вы тестируете. Вы возьмите в руки калькулятор и посчитайте сколько должно быть пользователей, чтобы обеспечить постоянную рабочую нагрузку хотяб 10 запросов в секунду. 8 миллионов одновременно?Всего 8 657 139 активных зарегистрированных пользователей. stenfordИ как вы производили стресс тестирование?Определили профиль нагрузки, подготовили стенд и подали на него большую нагрузку. stenfordСкажем если условно все 8 миллионов нажмут одну и ту-же кнопку?То будет downtime :) Но это фантастика. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 10:11 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordhVosttКоторое не имеет никакого отношения к реальности. раз уж существуют стресс-тесты, значит к реальности это какое-то отношение имеет Если в реальности рабочая нагрузка составляет ползапроса в секунду (а скорее одну десятую запроса в секунду), то зачем проводить стресс-тесты? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 10:18 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAЕсли в реальности рабочая нагрузка составляет ползапроса в секунду (а скорее одну десятую запроса в секунду), то зачем проводить стресс-тесты? :) Мне кажется, что ТС пока не имеет опыта, и слабо понимает о чём толком говорит. Поэтому с остервенением бросается в детали, абсолют и оптимизацию на спичках. Это со временем поправимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 12:34 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAВсего 8 657 139 активных зарегистрированных пользователей. То будет downtime :) Но это фантастика. а, ну ясно, какой-нибудь вконтактик. Действительнои, кого будет волновать если фоточка грузится на полминуты дольше. Но не все системы такие толерантные к даунтаймам. В финансовой например, при выходе транзакций из заданного предела в несколько секунд, на провайдера накладываются штрафы в десятки тысяч долларов, а при постоянным проблемах с производительностью могут отобрать лицензию на брент карты. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 15:03 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAВсего 8 657 139 активных зарегистрированных пользователей. То будет downtime :) Но это фантастика. а, ну ясно, какой-нибудь вконтактик. Действительнои, кого будет волновать если фоточка грузится на полминуты дольше. Но не все системы такие толерантные к даунтаймам. В финансовой например, при выходе транзакций из заданного предела в несколько секунд, на провайдера накладываются штрафы в десятки тысяч долларов, а при постоянным проблемах с производительностью могут отобрать лицензию на брент карты. Извините, но сразу видно, что ничего Вам не ясно. У Вас посылка ложная. 8 миллионов никогда не нажмут одну и ту-же кнопку одновременно. Если это конечно не спланированная DDoS-атака. Но что-то я сильно сомневаюсь, что кто-то когда-либо соберётся DDoS-ить Вашего заказчика :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 15:21 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, Вы только никому не рассказывайте, как потратили время и деньги на это Ваше стресс-тестирования, а потом оказалось, что в пиках у заказчика 5-10 запросов в секунду :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 15:24 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordа, ну ясно, какой-нибудь вконтактик. Действительнои, кого будет волновать если фоточка грузится на полминуты дольше. Но не все системы такие толерантные к даунтаймам. В финансовой например, при выходе транзакций из заданного предела в несколько секунд, на провайдера накладываются штрафы в десятки тысяч долларов, а при постоянным проблемах с производительностью могут отобрать лицензию на брент карты. Что-то из разряда запусков космолётов к далёким звёздам. Только настоящий эксперт знает, что да как :) Очередные выдумки про несколько секунд и штрафы? Эхх.. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 16:54 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAstenford, Вы только никому не рассказывайте, как потратили время и деньги на это Ваше стресс-тестирования, а потом оказалось, что в пиках у заказчика 5-10 запросов в секунду :) Да нет никакого стресс-тестирования, очередной выдумщик и фантазёр. Или компания настолько тупая, чтобы нанять полного профана, или в компании это настолько не приоритетное направление, что даже если бы этим занималась обезьяна, всем было бы пофигу. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2017, 16:56 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAstenford, Вы только никому не рассказывайте, как потратили время и деньги на это Ваше стресс-тестирования, а потом оказалось, что в пиках у заказчика 5-10 запросов в секунду :) никому кроме заказчика, уговорили. Если вы никогда не сталкивались с требованиями к пиковым нагрузкам, то зачем флудить? Мир не ограничивается одними соцсетями с картинками. Юзеры может и не нажмут одну и ту-же кнопку, а вот системы могут выдать спайк запросов в короткий промежуток времени, и обьясняться потом почему лег сервер будет тот, кто говорил о ненужности стресс-тестов ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 01:43 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVosttДа нет никакого стресс-тестирования, очередной выдумщик и фантазёр. Или компания настолько тупая, чтобы нанять полного профана, или в компании это настолько не приоритетное направление, что даже если бы этим занималась обезьяна, всем было бы пофигу. меня очень сложно обидеть, так что не старайся. Обычно, когда вместо аргументов и каких-то фактов идут оскорбления, то сразу четко видно человека с сильным комплексом неполноценности. Ты, претендуя на авторитета на данном форуме, даже и понятия не имел почему IIS затыкается на стресс-тесте, и не знал как это дело фиксить, и какие у этих фиксов плюсы и минусы. То, что с реальными задачами по производительности ты никогда не имел дело вполне очевидно. Но гонора зато в тебе много, да ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 01:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordменя очень сложно обидеть, так что не старайся. Обычно, когда вместо аргументов и каких-то фактов идут оскорбления, то сразу четко видно человека с сильным комплексом неполноценности. Комплекс полноценности детектед. То, что ты профан и фантазёр это не оскорбления, а обычная констатация факта. stenfordТы, претендуя на авторитета на данном форуме, даже и понятия не имел почему IIS затыкается на стресс-тесте, и не знал как это дело фиксить, и какие у этих фиксов плюсы и минусы. То, что с реальными задачами по производительности ты никогда не имел дело вполне очевидно. Но гонора зато в тебе много, да Очередной бред. Расскажи нам ещё что-нибудь про издержки на переключение контекста. Люблю, знаешь ли, комедии ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 08:28 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, вы не слышите собеседников, вам говорят просто что требования "глуповаты" и у вас не будет нагрузки такой, вам надо было эт принять и сказать ну коллеги вот что мне сделать в текущих условиях когда у меня тз такое глупое, не более. вас просят дать цифры из Performance Monitor, чтоб подсказать в чем дело ..вы не хотите его изучать и гнете свою линию. у нас около 4к активный магазинов и хз сколько там юзеров в каждом генерируются только 200-250 запросов в секунду. вы реально не понимаете что такое 500 реквестов каждую секунду, вот просто не понимаете. стресс тесты нужны чтоб понять когда у вас там все "наебнется", чисто для вас, чтоб знали что вот будет такое можно так то быстро порешать. хотите тз просто сделать ок добавьте балансировщик и 2-3 инстантс и все готово. можно на одно к примеру на чтение кеш чтоб уменьшить 50мс до 1-2 доступа из кеша.. хотите запись ускорить заюзайте Rabbitmq и потом запись в бд по очереди ..все можно сгладить. пытаться выжать все соки из машины когда блин реально будет работать далеко не так ну нет смысла. преждевременная оптимизация бабки на ветер имхо. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 08:29 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAstenford, Вы только никому не рассказывайте, как потратили время и деньги на это Ваше стресс-тестирования, а потом оказалось, что в пиках у заказчика 5-10 запросов в секунду :) никому кроме заказчика, уговорили. Если вы никогда не сталкивались с требованиями к пиковым нагрузкам, то зачем флудить? Мир не ограничивается одними соцсетями с картинками. Юзеры может и не нажмут одну и ту-же кнопку, а вот системы могут выдать спайк запросов в короткий промежуток времени, и обьясняться потом почему лег сервер будет тот, кто говорил о ненужности стресс-тестов ;) Да я прекрасно понимаю, что у Вас требования. Но вот честно, откуда Вы взяли, что в пиках будет достигаться 500 запросов в секунду? Ведь простая арифметика говорит, что это 30000 запросов в минуту. Вот объясните мне, себе и заказчику, как 500 пользователей могут её создать? Также поймите, что перед стресс-тестами надо бы рабочий профиль нагрузки определить. Вы это сделали? Какой он? Одна десятая запроса в секунду? Какие пропорции чтения и записи? Если Вы ничего этого не определили, а начали что-то там тестировать просто потому, что заказчик сказал: "у меня 500 пользователей, а вдруг они одновременно нажмут кнопку, надо это проверить", - то не стоит с умным видом рассуждать о том, чем не ограничивается мир. Сайт-то кстати публичный будет? Если да, то не забудьте про то, что ещё и все боты разом на него вдруг могут зайти :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 09:06 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRu хотите тз просто сделать ок добавьте балансировщик и 2-3 инстантс и все готово. можно на одно к примеру на чтение кеш чтоб уменьшить 50мс до 1-2 доступа из кеша все-ж уже выяснилось, для того, что-бы "сделать тз" в конкретно моем случае достаточно увеличить число поток CLR. Не потребуется ни лоад балансера, ни каких-то других приседаний. Нужно-ли это в реальном продакшене данной системы - вопрос открытый, да, скорее всего не надо, но это пусть сам клиент решает. А вот для других систем подобные настройки вполне будут нужны и в продакшене, где спайки активности вешь регулярная, и вызваны они не столько юзерами, сколько активностью других систем. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 09:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAДа я прекрасно понимаю, что у Вас требования. Но вот честно, откуда Вы взяли, что в пиках будет достигаться 500 запросов в секунду? Ведь простая арифметика говорит, что это 30000 запросов в минуту. Вот объясните мне, себе и заказчику, как 500 пользователей могут её создать? вот не в курсе вы, что такое внезапные пики активности, нету их видимо в соц сетях. А вот я такие системы видел, и не одну. Что-бы получить 500 запросов в полсекунды, не надо десятки тысяч запросов в минуту. Надо 500 запросов в полсекунды и ничего более, компрехэнд? И если система ляжет, то половина из этих запросов выдет за пределы лимита, все приехали. Никого не волнует, что остальные минуты система не получает столько запросов и справляется с нагрузкой. Волнует то, что пара сотен запросов в те полсекунды теперь за лимитом, и кто-то за это будет отвечать. Возможно тяжело понять, если не сталкивался с этим, я согласен ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 09:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordА вот для других систем подобные настройки вполне будут нужны и в продакшене, где спайки активности вешь регулярная, и вызваны они не столько юзерами, сколько активностью других систем. О каких системах речь? Какая разница, чем вызвана активность? В высоконагруженных системах запрос проходит через множество узлов. Узким местом может оказаться каждый из них. И надо уметь мониторить, тюнить и оптимизировать много чего. И в первую очередь свой код :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 10:00 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAДа я прекрасно понимаю, что у Вас требования. Но вот честно, откуда Вы взяли, что в пиках будет достигаться 500 запросов в секунду? Ведь простая арифметика говорит, что это 30000 запросов в минуту. Вот объясните мне, себе и заказчику, как 500 пользователей могут её создать? вот не в курсе вы, что такое внезапные пики активности, нету их видимо в соц сетях. А вот я такие системы видел, и не одну. Что-бы получить 500 запросов в полсекунды, не надо десятки тысяч запросов в минуту. Надо 500 запросов в полсекунды и ничего более, компрехэнд? И если система ляжет, то половина из этих запросов выдет за пределы лимита, все приехали. Никого не волнует, что остальные минуты система не получает столько запросов и справляется с нагрузкой. Волнует то, что пара сотен запросов в те полсекунды теперь за лимитом, и кто-то за это будет отвечать. Возможно тяжело понять, если не сталкивался с этим, я согласен При чём тут соц. сети? :) С пиками активности я хорошо знаком, могу даже показать их на графиках из Zabbix-а, Grafana, NewRelic. Что за системы Вы видели, если не секрет, можете кокнретные примеры привести? А то с одной стороны у Вас всего 500 пользователей, и предметную область Вы не раскрываете, потому как не важно это. А с другой какие-то финансовые транзакции, системы с 1000 запросов в секунду в пиках. Выглядит так, будто Вы понимаете, что у заказчика сайт взлетит и на табурете, но хотите помечтать о чём-то большом :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 10:08 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAЧто за системы Вы видели, если не секрет, можете кокнретные примеры привести? А то с одной стороны у Вас всего 500 пользователей, и предметную область Вы не раскрываете, потому как не важно это. А с другой какие-то финансовые транзакции, системы с 1000 запросов в секунду в пиках. Выглядит так, будто Вы понимаете, что у заказчика сайт взлетит и на табурете, но хотите помечтать о чём-то большом :) как я уже говорил, в конкретно этом случае я согласен, что стресс тест тут довольно искуственнен, и вряд-ли будет хорошей идеей тьюнить потоки CLR пула на продакшене. Но это, как я уже тоже говорил, не отменяет того факта, что системы где отклик будет критичен существуют, и мне важно было понять что-же тут происходит. Конкретные примеры легко, практически все финансовые системы с которыми я работал являлись критичными к времени отклика. Мне не надо про них мечтать, я с ними не один год работал, и провел массу своего рабочего времени занимаясь их перформанс тьюнингом. Самый легкодоступный пример пожалуй именно с финансовыми транзакциями. Вот есть у тебя кредитка, которой ты платишь где-то в интернете. Когда ты нажал кнопку Оплатить, эти данные отправились в твой банк-провайдер для авторизации. Банк не просто проверил твой баланс и отправил ответ, он еще много чего с этой транзакцией сделал. Например проверил на мошенничество, на случай если хакер украл номер твоей кредитки и пытается ей заплатить от твоего имени. Эта проверка не пара хранимых процедур в базе перед инсертом. Это - полноценная система, которая живет на своей виртуалке, имеет свою базу и прочее. Она будет давать простой ответ - насколько транзакция подозрительная на основании ряда правил и политик. Но есть условие - ответ должен быть получен в течении 2-4 секунд, если ответ не получен в течении этого времени - результат проверки уже не будет никого интересовать. Никто этой системе не даст думать 10 секунд пока IIS тупит с потоками. Шина, в которую встроена эта система просто пойдет дальше и в зависимости от бизнес правил одобрит транзакцию или отклонит. В случае если одобрит, а транзакция была от хакера - банк с определенной вероятностью эти деньги потеряет. В случае сотни транзакций по штуке баксов - потеря будет 100 тысяч долларов. У меня ломали кредитку несколько лет назад - попытались снять 6 тысяч баксов. К счастью она была отклонена. И это я еще не говорю про политики той-же Мастеркард например, и что она делает с нерадивыми провайдерами ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:00 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordкак я уже говорил, в конкретно этом случае я согласен, что стресс тест тут довольно искуственнен, и вряд-ли будет хорошей идеей тьюнить потоки CLR пула на продакшене. Но это, как я уже тоже говорил, не отменяет того факта, что системы где отклик будет критичен существуют, и мне важно было понять что-же тут происходит Так я и пишу про конкретно этот случай :) Для этого и спрашивал о том, сколько пользователей всего, что за предметка. И я прекрасно понимаю Вас. Вам выдвинули требования и Вы начали по ним работу. Но как инженер нужно отдавать себе отчёт, что требования мягко говоря оторваны от реальности, и донести это до заказчика в конструктивной форме. Сэкономить и ему и себе время и деньги. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordКонкретные примеры легко, практически все финансовые системы с которыми я работал являлись критичными к времени отклика. Мне не надо про них мечтать, я с ними не один год работал, и провел массу своего рабочего времени занимаясь их перформанс тьюнингом. Как-то вот не стыкуется у меня это с "Performance Monitor я не запускал, с ним разбираться надо как там счетчики нужные активировать". Не поделитесь своим опытом в теме: Производительность приложений. Мониторинг и профилирование ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:09 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordСамый легкодоступный пример пожалуй именно с финансовыми транзакциями. Вот есть у тебя кредитка, которой ты платишь где-то в интернете. Когда ты нажал кнопку Оплатить, эти данные отправились в твой банк-провайдер для авторизации. Банк не просто проверил твой баланс и отправил ответ, он еще много чего с этой транзакцией сделал. Например проверил на мошенничество, на случай если хакер украл номер твоей кредитки и пытается ей заплатить от твоего имени. Эта проверка не пара хранимых процедур в базе перед инсертом. Это - полноценная система, которая живет на своей виртуалке, имеет свою базу и прочее. Она будет давать простой ответ - насколько транзакция подозрительная на основании ряда правил и политик. Но есть условие - ответ должен быть получен в течении 2-4 секунд, если ответ не получен в течении этого времени - результат проверки уже не будет никого интересовать. Никто этой системе не даст думать 10 секунд пока IIS тупит с потоками. Шина, в которую встроена эта система просто пойдет дальше и в зависимости от бизнес правил одобрит транзакцию или отклонит. В случае если одобрит, а транзакция была от хакера - банк с определенной вероятностью эти деньги потеряет. В случае сотни транзакций по штуке баксов - потеря будет 100 тысяч долларов. У меня ломали кредитку несколько лет назад - попытались снять 6 тысяч баксов. К счастью она была отклонена. И это я еще не говорю про политики той-же Мастеркард например, и что она делает с нерадивыми провайдерами
... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:38 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAНо как инженер нужно отдавать себе отчёт, что требования мягко говоря оторваны от реальности, и донести это до заказчика в конструктивной форме. Сэкономить и ему и себе время и деньги. ну так надо-же понять причину происходящего. Нельзя просто так сказать что раз клиенту это не надо, то все можно забросить. В следующий раз надо будет и что - начинать все по новой? skyANAКак-то вот не стыкуется у меня это с "Performance Monitor я не запускал, с ним разбираться надо как там счетчики нужные активировать". Не поделитесь своим опытом в теме: Производительность приложений. Мониторинг и профилирование? я запросы к базе тьюнил, на скуле. Так что рабочим инструментом был не Perfomance Monitor, а скулевский профайлер. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:40 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAСогласно мониторингу uptime платёжного контура 100%. Хотите узнать как мы обеспечиваем свои SLA? Далеко не подкручиванием machine.config :) конечно, выкладывай! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:42 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAНо как инженер нужно отдавать себе отчёт, что требования мягко говоря оторваны от реальности, и донести это до заказчика в конструктивной форме. Сэкономить и ему и себе время и деньги. ну так надо-же понять причину происходящего. Нельзя просто так сказать что раз клиенту это не надо, то все можно забросить. В следующий раз надо будет и что - начинать все по новой? Так согласуйте требования с клиентом, развейте его опасения о том, что 500 пользователей вдруг одновременно нажмут кнопку :) Разве красиво, что он будет платить за мощности, которые ему не нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:56 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordя запросы к базе тьюнил, на скуле. Так что рабочим инструментом был не Perfomance Monitor, а скулевский профайлер. Если не секрет, что это за финансовая система была такая? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:57 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAСогласно мониторингу uptime платёжного контура 100%. Хотите узнать как мы обеспечиваем свои SLA? Далеко не подкручиванием machine.config :) конечно, выкладывай! Если кратко, то горизонтальное масштабирование как транзакций, так и данных. Асинхронность и очереди. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 13:58 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Сейчас задумались о собственном процессинге, будет что-то вроде этого: How to architect Online Payment Processing System for an online store? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 14:01 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAЕсли не секрет, что это за финансовая система была такая? их много было, транзакционный/аппликационный фрод (описанный выше), кредитные проверки итп. Это все банковский софт, разработкой которого сами банки занимаются редко skyANAЕсли кратко, то горизонтальное масштабирование как транзакций, так и данных. ну маштабирование конечно решит проблему, только если можно подкрутить настройки конфига - то это-ж должно в первую очередь делаться! skyANAСейчас задумались о собственном процессинге, будет что-то вроде этого свой платежный шлюз? да, знакомая тема, я совсем недавно занимался весьма похожей системой, она правда далека от завершения, правда не сам платежный шлюз, а система обработки платежей уже со стороны банка. Производительность там вроде не настолько критичная, по крайней мере на штрафы не нарветесь в отличие от банков-провайдеров (да и логики процессорной там-ж нет особой, нечему тормозить), максимум клиентов потеряете, зато безопасность это самая большая проблема для шлюзов. Если вас ломанут и уведут базу карт - то будете отвественны за все потери, плюс огромные штрафы со стороны визы/мастеркард и вроде как никакие сертификаты PCI от этого не спасут. Но это риски бизнеса, учавствовать в разработке конечно очень полезно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 15:25 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, ну ваще крупные банки имеют свои команды если что. п.с. у меня все равно в голове не укладывается что блин вы не освоили софт простой, а кидаетесь такими словами аля транзакции сквозь http ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 16:00 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAЕсли не секрет, что это за финансовая система была такая? их много было, транзакционный/аппликационный фрод (описанный выше), кредитные проверки итп. Это все банковский софт, разработкой которого сами банки занимаются редко Аппликационный фрод? Вы это о чём? Читал про application-scoring - система оценки кредитоспособности заемщиков для получения кредита. И про fraud-scoring - статистическая оценка вероятности мошеннических действий со стороны потенциального заемщика. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 16:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordну маштабирование конечно решит проблему, только если можно подкрутить настройки конфига - то это-ж должно в первую очередь делаться! С чего вдруг именно это в первую очередь? :) Пропускная способность выражается в количестве транзакций, которое система может обслужить в единицу времени. И transactional scalability - как раз увеличение этого показателя за счёт масштабирумости. Подкручивание конфига особого прироста не даёт. Если бы Вы включили Performance Monitor, то сами бы в этом и убедились. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 16:17 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordсвой платежный шлюз?Шлюз - это Payment gateway. Я же пишу про Payment processor. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 16:20 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
handmadeFromRuп.с. у меня все равно в голове не укладывается что блин вы не освоили софт простой, а кидаетесь такими словами аля транзакции сквозь http Банки шманки. Богатая у человека фантазия, что тут сказать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 18:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
hVostthandmadeFromRuп.с. у меня все равно в голове не укладывается что блин вы не освоили софт простой, а кидаетесь такими словами аля транзакции сквозь http Банки шманки. Богатая у человека фантазия, что тут сказать Ты в нём не сомневайся. http://www.banki.ru На рынке программного обеспечения для банков существуют готовые решения. Самые известные западные программы - SAS Credit Scoring, EGAR Scoring, Transact SM (Experian-Scorex), K4Loans (KXEN), Clementine (SPSS). Среди российских разработчиков выделяются Basegroup Labs, «Диасофт», известна украинская компания "Бизнес Нейро-Системы". В то же время многие банки разрабатывает свои собственные системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 20:07 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAТы в нём не сомневайся. Разве могут быть сомненья? Я и сам всё это видел.. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2017, 20:34 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAАппликационный фрод? Вы это о чём? Читал про application-scoring - система оценки кредитоспособности заемщиков для получения кредита. И про fraud-scoring - статистическая оценка вероятности мошеннических действий со стороны потенциального заемщика. application/transaction fraud, скоринг обычно только часть этого, и притом не самая большая ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 01:53 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAС чего вдруг именно это в первую очередь? :) Пропускная способность выражается в количестве транзакций, которое система может обслужить в единицу времени. И transactional scalability - как раз увеличение этого показателя за счёт масштабирумости. Подкручивание конфига особого прироста не даёт. Если бы Вы включили Performance Monitor, то сами бы в этом и убедились. подкручивание конфига в данном случае прирост дал, я-ж написал об этом. Зачем сразу бросаться в маштабирование, которое стоит денег, когда до определенного момента можно крутить конфиги? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 01:56 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAАппликационный фрод? Вы это о чём? Читал про application-scoring - система оценки кредитоспособности заемщиков для получения кредита. И про fraud-scoring - статистическая оценка вероятности мошеннических действий со стороны потенциального заемщика. application/transaction fraud, скоринг обычно только часть этого, и притом не самая большая А вот теперь понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 02:17 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordподкручивание конфига в данном случае прирост дал, я-ж написал об этом Да, написали. Я Вас даже процитирую: "Тем не менее, на "быстрых" запросах (порядка 50 мс на запрос) ситуация примерно такая-же, как и была, либо улучшилась незначительно" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 02:24 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAДа, написали. Я Вас даже процитирую: "Тем не менее, на "быстрых" запросах (порядка 50 мс на запрос) ситуация примерно такая-же, как и была, либо улучшилась незначительно" да, все верно, на быстрых запросах особо не помогает, но на более тяжелых, где помимо БД идет определенный процессинг на аппсервере, помогло. Я например о таких особенностях IIS не знал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 02:32 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
а быстрые запросы вероятно уперлись в сетку, т.к. и без всякого перфоманс монитора я вижу, что остальные ресурсы (проц, память) стоят свободными, а средний отклик все равно почти 2 секунды. Но я потом монитором все-же попробую посмотреть что именно ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 02:35 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAДа, написали. Я Вас даже процитирую: "Тем не менее, на "быстрых" запросах (порядка 50 мс на запрос) ситуация примерно такая-же, как и была, либо улучшилась незначительно" да, все верно, на быстрых запросах особо не помогает, но на более тяжелых, где помимо БД идет определенный процессинг на аппсервере, помогло. Я например о таких особенностях IIS не знал. Во первых упоминание очередей и асинхронности должно Вам подсказать, что мы делаем этот Ваш "определенный процессинг" несколько иначе, отчего запросы у нас "быстрые". А во вторых Вы про то, что в machine.config можно определённые параметры подкрутить, на прошлой неделе узнали. А я давно с ними играться научился в разных тестах, на разных средах, в том числе и на продакшн. Так что давайте не будем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 09:26 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordа быстрые запросы вероятно уперлись в сетку, т.к. и без всякого перфоманс монитора я вижу, что остальные ресурсы (проц, память) стоят свободными, а средний отклик все равно почти 2 секунды. Но я потом монитором все-же попробую посмотреть что именно Посмотрите, посмторите, это полезно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 09:26 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordЗачем сразу бросаться в маштабирование, которое стоит денег, когда до определенного момента можно крутить конфиги? Уважаемый, сразу бросаетесь тут только Вы: стресс-тесты проводить на пятиста пользователях :) А мы прикидываем нагрузку, прогнозируем, анализируем, тестируем и делаем соответсвующие выводы. На данный момент продуктом пользуются 21 765 некоммерческие организации. Количество пользователей в каждой варьируется от единиц до пятидесяти тысяч. Общее количество я называл выше. Ежемесячно регистрируются на пробный период от полутора до двух тысяч новых организаций. Прибавьте к этому ещё анонимных посетителей и ботов и подумайте ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 09:46 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAНа данный момент продуктом пользуются 21 765 некоммерческие организации. Количество пользователей в каждой варьируется от единиц до пятидесяти тысяч. Общее количество я называл выше. ну я помню, да, в случае когда определенный процент из них придет к вам одновременно - то будет всего-лишь даунтайм ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 11:13 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAВо первых упоминание очередей и асинхронности должно Вам подсказать, что мы делаем этот Ваш "определенный процессинг" несколько иначе, отчего запросы у нас "быстрые". каким образом очереди делают ваши запросы быстрее? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 11:14 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAНа данный момент продуктом пользуются 21 765 некоммерческие организации. Количество пользователей в каждой варьируется от единиц до пятидесяти тысяч. Общее количество я называл выше. ну я помню, да, в случае когда определенный процент из них придет к вам одновременно - то будет всего-лишь даунтайм Не будет. Потому как посылка была далеко не такая ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 14:16 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAВо первых упоминание очередей и асинхронности должно Вам подсказать, что мы делаем этот Ваш "определенный процессинг" несколько иначе, отчего запросы у нас "быстрые". каким образом очереди делают ваши запросы быстрее? Простым. Грубо говоря положил сообщение в очередь, на этом запрос и закончился. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 14:18 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, выше я даже ссылку дал почитать: Utilize queuesto make your system more reliable and resistant to change and load. As part of this step you can create software design where all communication, or most of it, between components done via queues (where async is permitted). For example, you may have queues for internal Fraud scoring, external Fraud scoring (aka MaxMind or ThreadMetrics), storage, notifications of other systems, a queue for every Payment Processor and many more moving pieces. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2017, 14:20 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANA, hVostt, зарегался, просто чтобы выразить вам лайк за этот тред. Вы вернули мою веру в то, что мониторинг и отладка wcf iis возможна. И я даже на правильном пути. Просто чего только не встретишь в инете по иис, и почти всё мимо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 16:28 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Lexus-3141, Подымающие топики за прошлый год без всякой информации называются некрофилами. И про wcf тут ничего нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 18:53 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Lexus-3141skyANA, hVostt, зарегался, просто чтобы выразить вам лайк за этот тред. А что ты извлёк-то? Пришел человек - спросил, что конкретно делает IIS 2.5 секунды на запрос. И понеслась. Обыкновенный балаган. Потоки, асинхронность, а на}{рена тебе это, да ты оторван от реальности, а вот у меня... Реальной инфы по теме топика 0.5% ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 02:38 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомОбыкновенный балаган.+1 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 08:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомLexus-3141skyANA, hVostt, зарегался, просто чтобы выразить вам лайк за этот тред. А что ты извлёк-то? Пришел человек - спросил, что конкретно делает IIS 2.5 секунды на запрос. И понеслась. Обыкновенный балаган. Потоки, асинхронность, а на}{рена тебе это, да ты оторван от реальности, а вот у меня... Реальной инфы по теме топика 0.5%Реальная инфа с реальными результатами на первых двух страницах. Дальше да - балаган. Хочешь его продолжить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 14:08 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Lexus-3141skyANA, hVostt, зарегался, просто чтобы выразить вам лайк за этот тред. Вы вернули мою веру в то, что мониторинг и отладка wcf iis возможна. И я даже на правильном пути. Просто чего только не встретишь в инете по иис, и почти всё мимо. Хм, конечно возможна. И мониторинг и отладка. Последнее так вообще просто: приатачился к процессу и отлаживайся. Либо Debug Diag зацепиться. А можно и дамп снять и посмотреть в WinDbg, что происходит. Вы бы конкретно обрисовали, из-за чего у Вас вдруг пропала вера? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 14:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухХочешь его продолжить? Я было обрадовался, что сейчас нарою инфу по вопросу. IIS Express, W10 У меня на странице вызывается ashx-хендлер. Примитивный, уровня "return "Hello world"". Вызывается этот handler на странице 7 раз, но в составе загрузки ЦЕЛОЙ страницы (а там чего только не понаверчено) Первый раз handler отрабатывает за 150-200ms Все остальные разы запросы висят (в хроме) в "pending", и висят от 5 до 20 секунд, причем - все большинство срабатывают пачкой, по истечении этого времени. Вопрос - где болтаются эти запросы? Как посмотреть - через какой код они проходят? Про компоненту "request monitor" знаю (MS как всегда первой надобности тулзу куда-то спрятала поглубже), но еще ею не пользовался. http-модулей много, но.. Но отладка тоже ничего внятного не показывает. Вплоть до того, что запрос из одного модуля уходит, но в следующий не приходит. По одному вызывать - проблем нет. В общем вопрос - в браузере запрос (конкретный) висит 10 секунд - как его ччччетко разложить на временные интервалы. Желательно дешево. Относительно дешево. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 14:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, сними дамп с w3wp и посмотри, что у тебя выполняется и где висит или используй профайлер от JetBrains, или от RedGate... возможно где-то локи, или сборка мусора ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 16:48 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, и я писал про Performance Monitor, его значит ты не запускал... а он, прикинь, реальную инфу тебе показать может ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 16:53 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, ну и книжку тебе посоветую: https://www.ozon.ru/context/detail/id/23816449/ а также почитать статьи от автора, Саши Гольдштейна, и доклады его посмотреть ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 16:59 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Муха он, прикинь, реальную инфу тебе показать может Счетчики могут оттрейсить конкретный http-запрос? Дмитрий Мухну и книжку тебе посоветую Даже заинтриговал. Книге сто лет, купил когда-то, но как-то не пригодилось. Чо-там в .NET оптимизировать, 98% приложений просты как молоток. Принял запрос, достал инфу из БД/кеша - выплюнул обратно. Но за совет - спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 20:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий Муха он, прикинь, реальную инфу тебе показать может Счетчики могут оттрейсить конкретный http-запрос? Дмитрий Мухну и книжку тебе посоветую Даже заинтриговал. Книге сто лет, купил когда-то, но как-то не пригодилось. Чо-там в .NET оптимизировать, 98% приложений просты как молоток. Принял запрос, достал инфу из БД/кеша - выплюнул обратно. Но за совет - спасибо. Вот народ пошёл, ничего не хотят сами почитать, даже содержание. Мог бы хоть его глянуть, прежде чем занудного скептика изображать Счётчики тебе конечно ничего не оттрейсят, но хоть увидишь, что происходит. Какая картина по памяти, по той же сборке мусора, какая по очереди запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 21:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухКакая картина по памяти, по той же сборке мусора Дмитрий, какая память, какой сборщик, сайт на локальном IIS-е - ОДИН. Страница грузится - ОДНА. На самом деле - я выяснил в чем проблема. И знаешь - копаясь в этом - Дмитрий МухКакая картина по памяти, по той же сборке мусора, какая по очереди запросов. - я бы копался дООООлго. И без результата, к сожалению. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:01 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Меж тем, мне всё же интересно - есть ли какая тулза, которая покажет по конкретному запросу, к примеру: 1. На вход IIS поступил в <время> 2. Встал в очередь <время> 3. В .NET ушёл <время> 4. <Модуль> начал обработку <время> по <событию> 5. <Модуль> закончил обработку <время> <событию> 6. Обработан <Хендлер/Контроллер/Страница еще чего то> - начало 7. <Глобальное событие #1> 8. <Глобальное событие #2> 9. Завершение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:16 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, выяснил - молодец... Методом тыка? Дай угадаю, бнальная блокировка? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:19 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухМетодом тыка? Неа. Дмитрий МухДай угадаю, банальная блокировка? Мимо. Прочитай внимательно моё первое сообщение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:23 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомМеж тем, мне всё же интересно - есть ли какая тулза, которая покажет по конкретному запросу, к примеру: 1. На вход IIS поступил в <время> 2. Встал в очередь <время> 3. В .NET ушёл <время> 4. <Модуль> начал обработку <время> по <событию> 5. <Модуль> закончил обработку <время> <событию> 6. Обработан <Хендлер/Контроллер/Страница еще чего то> - начало 7. <Глобальное событие #1> 8. <Глобальное событие #2> 9. Завершение. Я так понимаю dotTrace ты уже попробовал и тебе не понравилось? А Glimpse? NewRelic? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:24 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий МухМетодом тыка? Неа. Дмитрий МухДай угадаю, банальная блокировка? Мимо. Прочитай внимательно моё первое сообщение. И что там? Запросы где-то висят. Где же? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:27 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
В AcquireRequestState? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:29 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Ты издеваешься? JetBrains' dotTrace — проприетарный профилировщик для отслеживания проблем производительности и узких мест использования памяти в приложениях на платформе .NET. Мне нужно просто оттрейсить простой HTTP-запрос. Цель - добиться результата быстрее, чем я нашпигую response timestamp-ами и маркерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:30 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухИ что там? Запросы где-то висят. Где же? Эээ, нет - ты же угадывать собрался. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:30 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, твой хэндлер реализует IRequiresSessionState? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:31 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий Мух, Ты издеваешься? JetBrains' dotTrace — проприетарный профилировщик для отслеживания проблем производительности и узких мест использования памяти в приложениях на платформе .NET. Мне нужно просто оттрейсить простой HTTP-запрос. Цель - добиться результата быстрее, чем я нашпигую response timestamp-ами и маркерами. То есть так и не попробовал, а выводы делаешь. Забавный. Чтобы не заниматься микрохронометражем берут профилировщик, либо снимают дамп и смотрят какие потоки что выполняют и чего ждут остальные. Но и таймштампа можно в лог насрать, тоже вариант. Мы так делали до того, как NewRelic поставили. Ладно, dotTrace тебе не понравился... Glimpse? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:36 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий МухИ что там? Запросы где-то висят. Где же? Эээ, нет - ты же угадывать собрался. И походу уже угадал ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:37 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомсайт на локальном IIS-е Ну так запускай любой профайлер, хоть студийный, хоть Glimpse и выбирай ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:45 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухИ походу уже угадал Нифига. Дмитрий Мухтвой хэндлер реализует IRequiresSessionState? Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:45 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий МухИ походу уже угадал Нифига. Дмитрий Мухтвой хэндлер реализует IRequiresSessionState? Да. И почему я не удивлён Значит банальная блокировка. Или ты не знаешь, что она накладывается? Не один раз уже обсуждали то, что использование сессии приводит к тормозам на ровном месте. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 22:51 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухИ почему я не удивлён Я тоже. Балаган must go on. Дмитрий МухЗначит банальная блокировка. Не значит. Дмитрий Мухчто использование сессии приводит к тормозам на ровном месте. Это так профессионально. Я спросил - как оттрейсить http-запрос, с начала и до конца. Ты посоветовал dotTrace (я ничего не перепутал?) А потом " использование сессии приводит к тормозам на ровном месте ". Хм, выглядит как экспертиза. Достойно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 23:50 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий МухИ почему я не удивлён Я тоже. Балаган must go on. Дмитрий МухЗначит банальная блокировка. Не значит. Дмитрий Мухчто использование сессии приводит к тормозам на ровном месте. Это так профессионально. Я спросил - как оттрейсить http-запрос, с начала и до конца. Ты посоветовал dotTrace (я ничего не перепутал?) А потом " использование сессии приводит к тормозам на ровном месте ". Хм, выглядит как экспертиза. Достойно. Послушай, ты уж определись чего хочешь. В текущем своём коде понять, где проблема? В использовании сессии. Или уметь оттрейсить любой http-запрос, с начала и до конца? Хотя на оба этих вопроса я тебе уже ответил. Но вижу, что тебе не ответы нужны, а балаган. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 23:59 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухВ текущем своём коде понять, где проблема? В использовании сессии. Во первых, код не мой. Во вторых - к моей проблеме сессия не имеет никакого отношения. Дмитрий МухИли уметь оттрейсить любой http-запрос, с начала и до конца? Я когда-нибудь говорил что то другое? Дмитрий МухХотя на оба этих вопроса я тебе уже ответил. dotTrace? Glimpse? newRelic? Ты знаешь много слов на английском, этого не отнять. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 00:06 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Glimpse покажет, сколько запрос в очереди болтался? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 00:09 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, короче проблему решил? Молодец. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 00:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
топик являетрся прекрасной демонстрацией того, как люди нихрена не понимающие в вопросе лезут с бессмысленными и вредными советами, лишь-бы хоть что-то написать. Платят им за посты наверное Дмитрий МухСчётчики тебе конечно ничего не оттрейсят год понадобился, что-бы дошло ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 01:39 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordтопик являетрся прекрасной демонстрацией того, как люди нихрена не понимающие в вопросе лезут с бессмысленными и вредными советами, лишь-бы хоть что-то написать. Платят им за посты наверное Не нам не платят, нам спасибо говорят ( 20780605 ): stenfordкруто, спасибо, вот сейчас сразу зашевелилась в несколько раз быстрее на "тяжелых" (занимающих сотню-другую мс) запросах. Ой, да это же ты. Да, коротка память у людей... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 10:12 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordДмитрий МухСчётчики тебе конечно ничего не оттрейсят год понадобился, что-бы дошло Тебе и год назад никто не говорил, что Performance Monitor тебе что-то оттрейсит, не знаю зачем ты так думал всё это время. Фантазёр походу ты. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 10:15 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий Мух, Glimpse покажет, сколько запрос в очереди болтался? ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 10:30 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомАгнец за бортомДмитрий Мух, Glimpse покажет, сколько запрос в очереди болтался? ??? Тебе это нужно: "Request Wait Time - The number of milliseconds the most recent request was waiting in the queue"? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:27 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAАгнец за бортомпропущено... ??? Тебе это нужно: "Request Wait Time - The number of milliseconds the most recent request was waiting in the queue"? Ну, наверное... От приема IIS до начала обработки конвейером ASP.NET ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:29 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомskyANAпропущено... Тебе это нужно: "Request Wait Time - The number of milliseconds the most recent request was waiting in the queue"? Ну, наверное... От приема IIS до начала обработки конвейером ASP.NET Это тебе Performance Monitor покажет. Glimpse заточен подробно показывать то, что внутри приложения происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:32 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортом, также Performance Monitor покажет тебе, а есть-ли у тебя вообще эта очередь и начиная с какого момента она возникает. Если очереди нет, то за на фига о ней вообще думать? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 11:33 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухОй, да это же ты. Да, коротка память у людей... у меня хорошая память о том, что ты там знал и советовал: skyANAА почему autoConfig="true" выдаёт "настолько низкие" - хз. Это надо смотреть на ваш сервер. иди в свой гугл и читай базовые вещи, потом советовать будешь ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 12:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordДмитрий МухОй, да это же ты. Да, коротка память у людей... у меня хорошая память о том, что ты там знал и советовал: skyANAА почему autoConfig="true" выдаёт "настолько низкие" - хз. Это надо смотреть на ваш сервер. иди в свой гугл и читай базовые вещи, потом советовать будешь Ты без моего совета даже не допёр, что надо убрать этот самый autoConfig="true", так что давай не будешь тут писать кому и куда идти. Документацию для начала сам научись читать ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:08 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAТы без моего совета даже не допёр, что надо убрать этот самый autoConfig="true", так что давай не будешь тут писать кому и куда идти. Документацию для начала сам научись читать так значит в гугл не пойдешь читать почему autoConfig="true" выдаёт "настолько низкие" значения? Или хотя-бы мой пост где подробно расписано почему? Вот и сиди в своем перманентном "хз" состоянии и дальше ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:33 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenford, Ты в итоге разобрался (не косвенно) - кто жрёт эти 2.5 секунды? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 13:45 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordskyANAТы без моего совета даже не допёр, что надо убрать этот самый autoConfig="true", так что давай не будешь тут писать кому и куда идти. Документацию для начала сам научись читать так значит в гугл не пойдешь читать почему autoConfig="true" выдаёт "настолько низкие" значения? Или хотя-бы мой пост где подробно расписано почему? Вот и сиди в своем перманентном "хз" состоянии и дальше Не пойду, я ещё 5 лет назад прочитал, что при autoConfig="true" значения зависят от параметров железки. И поэтому надо бы на эту самую железку взглянуть, о чём и написал. С чем не согласен? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:20 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомТы в итоге разобрался (не косвенно) - кто жрёт эти 2.5 секунды? IIS-же их держит в случае "взрывного" увеличения запросов, лечится только прямым указанием в конфиге что нужно выделять столько-то потоков. Это особенно видно при использовании специализированных нагрузочных тулзов (даже fiddler такого эффекта уже не дает т.к. не может выдать много потоков в короткий промежуток времени). Если у тебя нагрузка не "взрывная" сразу на сотни потоков - то к твоему случаю то что в топике говорите не относится ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:49 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомstenford, Ты в итоге разобрался (не косвенно) - кто жрёт эти 2.5 секунды? Да в использовании сессии у тебя проблема. Замени IRequiresSessionState на IReadOnlySessionState, если хэндлер только читает из неё, и будет тебе счастье. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:54 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
stenfordIIS-же их держит в случае "взрывного" увеличения запросов, лечится только прямым указанием в конфиге что нужно выделять столько-то потоков. Асинхронностью ещё лечится. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:56 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAАгнец за бортомstenford, Ты в итоге разобрался (не косвенно) - кто жрёт эти 2.5 секунды? Да в использовании сессии у тебя проблема. Замени IRequiresSessionState на IReadOnlySessionState, если хэндлер только читает из неё, и будет тебе счастье. Да знаю я, в чём у меня была проблема, и не в сессии дело, Дима. Конкретно мой кейс - закрыт. Вопрос - как отрейсить запрос целиком (с IIS до ответа) - так и открыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:57 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДа знаю я, в чём у меня была проблема, и не в сессии дело, Дима. И в чём, если не секрет? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 14:57 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомВопрос - как отрейсить запрос целиком (с IIS до ответа) - так и открыт. Всё в одном инструменте? Тогда NewRelic. New Relic provides the ability to track the time after a request enters your production systems and before it reaches your application. This portion of your request's life cycle is referred to as request queuing. Depending on the specifics of your production systems, this time may include an actual queue that requests enter, or it may represent other functions (such as load balancing or internal network latency). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 15:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Хватит уже год пугать хранением сессии на бэке. Прямо миф какой то создали. Или религию. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 19:29 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123Хватит уже год пугать хранением сессии на бэке. Прямо миф какой то создали. Или религию. Да какой миф, есть официальная документация, где рассказано как устроена работа с сессией в ASP.NET. Про блокировки и прочее. И туева хуча обсуждений на разных форумах тормозов при использовании Session. Просто надо знать об этом и знать как обходить. Либо вообще сессию не использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 19:37 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
И вот собственно ссылка на документацию: ASP.NET Session State Overview Concurrent Requests and Session StateAccess to ASP.NET session state is exclusive per session, which means that if two different users make concurrent requests, access to each separate session is granted concurrently. However, if two concurrent requests are made for the same session (by using the same SessionID value), the first request gets exclusive access to the session information. The second request executes only after the first request is finished. (The second session can also get access if the exclusive lock on the information is freed because the first request exceeds the lock time-out.) If the EnableSessionState value in the @Page directive is set to ReadOnly , a request for the read-only session information does not result in an exclusive lock on the session data. However, read-only requests for session data might still have to wait for a lock set by a read-write request for session data to clear. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 19:44 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAПросто надо знать об этом и знать как обходить. Либо вообще сессию не использовать.замечательно. Ставь диагноз, и если действительно сессия узкое место то так и говори. На моей памяти ни разу сессия не была тормозом)))). Значит это миф)). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 20:13 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123skyANAПросто надо знать об этом и знать как обходить. Либо вообще сессию не использовать.замечательно. Ставь диагноз, и если действительно сессия узкое место то так и говори. На моей памяти ни разу сессия не была тормозом)))). Значит это миф)). Память у тебя короткая: WebForm vs MVC ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 21:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123, плюс вот тебе статья: https://www.red-gate.com/simple-talk/dotnet/asp-net/single-asp-net-client-makes-concurrent-requests-writeable-session-variables/ там в конце конце сравнение производительности ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2018, 21:11 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий МухPetro123пропущено... замечательно. Ставь диагноз, и если действительно сессия узкое место то так и говори. На моей памяти ни разу сессия не была тормозом)))). Значит это миф)). Память у тебя короткая: WebForm vs MVC Там флуд как всегда. А в этой теме оба профи сказали что сессии ни при чем. Но ты упрямый. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 06:15 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123Дмитрий Мухпропущено... Память у тебя короткая: WebForm vs MVC Там флуд как всегда. Ага, с твой стороны. С остальными мы выяснили, что проблема напрямую связана с использованием Session. И здесь ты снова ни фига по теме не пишешь, зачем ты тут? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 07:05 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Ты хоть ник сменил, а суть та же. Выше тебе написано: "Не в сессии дело Дима"! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 07:18 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123Дмитрий Мух, Ты хоть ник сменил, а суть та же. Выше тебе написано: "Не в сессии дело Дима"! И что? Я не стал настаивать, а просто спросил: "И в чём, если не секрет?". А тут прилетел ты и начал флудить про некий миф. Ну вот тебе выше документация и ссылка на пример с 7-ю параллельными AJAX запросами. Давай оспорь их, развей "миф". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 07:24 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Мух, Удивительно. Выше два профи сказали: "Дима! Не в этом дело!" Я тоже сказал: "Хватит уже про эти сессии". (начинающий шарпист). Этого Дима стерпеть не смог)))))) LOL ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 08:04 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Petro123Дмитрий Мух, Удивительно. Выше два профи сказали: "Дима! Не в этом дело!" Я тоже сказал: "Хватит уже про эти сессии". (начинающий шарпист). Этого Дима стерпеть не смог)))))) LOL Короче слив засчитан. Плюс очередная пачка флуда в твою копилку. По теме есть, что сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 08:16 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Дмитрий Муха просто спросил: "И в чём, если не секрет?". Тыц Stalled . The request could be stalled for any of the reasons described in Queueing . Queueing . The browser queues requests when: There are higher priority requests. There are already six TCP connections open for this origin , which is the limit. Applies to HTTP/1.0 and HTTP/1.1 only. The browser is briefly allocating space in the disk cache ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 09:49 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
Агнец за бортомДмитрий Муха просто спросил: "И в чём, если не секрет?". Тыц Stalled . The request could be stalled for any of the reasons described in Queueing . Queueing . The browser queues requests when: There are higher priority requests. There are already six TCP connections open for this origin , which is the limit. Applies to HTTP/1.0 and HTTP/1.1 only. The browser is briefly allocating space in the disk cache Это не объясняет твою ситуацию. У тебя 7 + 1 HTTP запрос, 2 выполняются, а 5 ждут. Ты под IE 7.0 и ниже что-ли пишешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 10:01 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANA2 выполняются, а 5 6 ждут поправил ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 10:02 |
|
Оптимизация отклика от IIS
|
|||
---|---|---|---|
#18+
skyANAТы под IE 7.0 и ниже что-ли пишешь? Нет, раз Timeline в Хроме смотришь... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.09.2018, 10:03 |
|
|
start [/forum/topic.php?all=1&fid=18&tid=1355140]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
192ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 566ms |
0 / 0 |