|
Производительность EF
|
|||
---|---|---|---|
#18+
А что возвращает первая строка? Если IQueryable, то реальный запрос к БД выполняется только во второй строке. Но тогда странно, что первая строка две секунды работает. Хотя, возможно, 2 секунды уходит на инициализацию контекста. Если же gcPoolSelectAll возвращает уже материализованный результат, тогда еще более странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:38 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Shocker.Pro, возвращает она ObjectResult<gcPoolSelectAll_Result> Счас переделал код так: Код: c# 1. 2.
результат тот-же. Эти же две строки с такими же параметрами, но скомпилированные под VS2012 работают не более 4 секунд. VS2012 снес с месяц назад, поэтому счас проверить в ней никак не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:48 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Shocker.Pro, возможно человек боролся с parameter sniffing и воткнул в процедуру with recompile. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:49 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола Питерский, на сервере в этот момент что происходит? Какой state у процесса, какой wait type? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:51 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
skyANA, админ сказал что запрос отрабатывеет за 18 мс, больше ничего толкового выясниить удалось, у меня самого нет доступа к этому серваку, да и возможностей для контроля у этой версии сайбес слишком мало. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:55 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола ПитерскийЭтот код из реально работающего приложения, но то приложение было скомпилировано в VS2012, а я это дело пробую в VS2013. EF тут совсем не причем -т.к. аналогична ситуация и с ADO.NET под VS2013. Вот тут не понятно. Было собранное приложение, оно работало на определённой машине с определённой версией фреймворка с определённой скоростью. Вы его пересобрали под тот же фреймворк, обновили на той же машине, и оно стало работать медленнее? Никаких других изменений не было? Выше Вы писали про какие-то новые компоненты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:56 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола ПитерскийСчас переделал код так: Код: c# 1.
какой смысл? gcPoolSelectAll что возвращает? именно это важно, чтобы понять, где тормоз. Ну или сделай по другому - выполни по шагам и посмотри SQL-профайлером, на какой именно строке происходит запрос к базе и сколько времени он занимает по данным профайлера ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 10:57 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола ПитерскийskyANA, админ сказал что запрос отрабатывеет за 18 мс, больше ничего толкового выясниить удалось, у меня самого нет доступа к этому серваку, да и возможностей для контроля у этой версии сайбес слишком мало. Так у Вас ещё и СУБД от Sybase? Не работал, не в курсе как и что там мониторить и профилировать. Но что значит запрос отрабатывает за 18 мс? Как он это понял? Если Вы ему скинули имя хранимки и значения параметров и он где-то там её выполнил прямо на серваке, то это не валидно. Нужно смотреть, что прилетает от приложения, как долго это выполняется, как долго потом данные передаются по сети. Вполне вероятно что на fetch данных с удалённого сервера как раз и уходит большая часть времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:02 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола Питерский, а в gcPoolSelectAll_Result случаем нет свойств, инициализация которых требует дополнительных запросов к серверу? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:05 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
skyANAМикола ПитерскийЭтот код из реально работающего приложения, но то приложение было скомпилировано в VS2012, а я это дело пробую в VS2013. EF тут совсем не причем -т.к. аналогична ситуация и с ADO.NET под VS2013. Вот тут не понятно. Было собранное приложение, оно работало на определённой машине с определённой версией фреймворка с определённой скоростью. Вы его пересобрали под тот же фреймворк, обновили на той же машине, и оно стало работать медленнее? Никаких других изменений не было? Выше Вы писали про какие-то новые компоненты. Это есть сайт ASP.NET доступ к БД был под ADO.NET (SQLAnywhere 12) разработан был под MVC на VS2012. Делал я сам с месяц назад. Работает до сих пор - летает все. Потом я переставил систему на своей машине, установил VS2013, нашел новые клиентские компоненты для SQLAnywhere с неглючным провайдером EF6 но уже версии 17, а на старой машине была версия 12 в которой EF глючил. Получилось создать наконец модель EF под БД, я обрадовался и переделал код под EF и результат - дикие тормоза, далее я нашел наимболее тормознутый запрос, создал проект WinForms в котором всего эти 2 строки и пытаюсь обнаружить причину тормозов. Поначалу подумал - что виноват EF, но потом эту же ХП запустил тем же ADO.NET кодом что и в старом приложении - те же тормоза. И сейчас вообще не могу локализовать проблему - где и что. В .NET я не силен, т.к. юзаю его всего полгода - и буду благодарен за любые подсказки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:09 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
skyANAМикола Питерский, а в gcPoolSelectAll_Result случаем нет свойств, инициализация которых требует дополнительных запросов к серверу? Не - ничего такого - обычный класс с несвязанными свойствами. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:13 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола Питерский, ндык Вы локализовали проблему... ковыряйте теперь вашу ХП.... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:43 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола ПитерскийПоначалу подумал - что виноват EF, но потом эту же ХП запустил тем же ADO.NET кодом что и в старом приложении - те же тормоза. Узкое горлышко это сеть. Если запрос тот же, база та же, то и выполняться будет так же. У вас проблема ограниченного канала связи сервера с локальной машиной, и видимо объём данных большой, перекачивать долго, потом ещё требуется время на материализацию запроса. Конечно может быть ещё что-то, о чём мы не знаем, но пока, по поводу решения, всё в силе. Пейджинг! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 11:46 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
hVostt, Никак нет - на этой же машине запускаю этот же запрос с помощью клиентского софта SQLAnywhere и получаю ответ за примерно 2 сек. Кроме того счас попрообовал старые компоненты 12 версии - результат тотже - тормоза. Так что изменилось на машине - выходит только студия с 2012 на 2013. Это что получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 12:16 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола Питерский, Мистика. Профилируйте тогда. Или давайте больше информации, чтобы разобраться. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 12:32 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
hVostt, ты действительно прав!!! Начал постоянно слать запросы и увидел что очень нечасто но получаю ответ достаточно быстро. Так что буду разбираться с ихними админами. Блин - 2 дня коту под хвост, еще и вас загрузил. Но одно радует - что EF6 заработал. Всем большое спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 12:33 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола Питерский, потому как надо мониторить и профилировать, а не гадать по версиям студии :) Не за что. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 12:38 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
Микола ПитерскийНачал постоянно слать запросы и увидел что очень нечасто но получаю ответ достаточно быстро. Так что буду разбираться с ихними админами. Одмины тут не причем. Запрос скорее на блокировки нарывается. Попробуйте запускать в мирное вечернее время. А еще лучше на тестовой базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 20:17 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
skyANA31lqsПросто хотел помочь, чем знаю... Вот только не помогли. Объяснили бы толком, что предлагаете: обновить версию SQL Server, оперативы добавить и на in memory мигрировать?Именно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2017, 22:40 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
31lqsИменно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:) Лучше посоветуй где арендовать сервер с 10 Тб оперативки на борту. Будем мигрировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 00:40 |
|
Производительность EF
|
|||
---|---|---|---|
#18+
31lqsskyANAпропущено... Вот только не помогли. Объяснили бы толком, что предлагаете: обновить версию SQL Server, оперативы добавить и на in memory мигрировать?Именно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:) Понятно, шутку заценил :) А Миколе Питерскому что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2017, 09:27 |
|
|
start [/forum/topic.php?fid=17&gotonew=1&tid=1349269]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
176ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 239ms |
total: | 535ms |
0 / 0 |