powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Производительность EF
21 сообщений из 46, страница 2 из 2
Производительность EF
    #39506121
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что возвращает первая строка? Если IQueryable, то реальный запрос к БД выполняется только во второй строке. Но тогда странно, что первая строка две секунды работает.
Хотя, возможно, 2 секунды уходит на инициализацию контекста.

Если же gcPoolSelectAll возвращает уже материализованный результат, тогда еще более странно.
...
Рейтинг: 0 / 0
Производительность EF
    #39506129
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, возвращает она ObjectResult<gcPoolSelectAll_Result>

Счас переделал код так:
Код: c#
1.
2.
var a = DBContext.gcPoolSelectAll("001", Convert.ToDateTime("2016.05.01"), Convert.ToDateTime("2016.06.01"), -1, 0).AsQueryable();
List<gcPoolSelectAll_Result> list = a.ToList();           



результат тот-же.

Эти же две строки с такими же параметрами, но скомпилированные под VS2012 работают не более 4 секунд.
VS2012 снес с месяц назад, поэтому счас проверить в ней никак не могу.
...
Рейтинг: 0 / 0
Производительность EF
    #39506131
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

возможно человек боролся с parameter sniffing и воткнул в процедуру with recompile.
...
Рейтинг: 0 / 0
Производительность EF
    #39506133
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский,

на сервере в этот момент что происходит? Какой state у процесса, какой wait type?
...
Рейтинг: 0 / 0
Производительность EF
    #39506135
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA, админ сказал что запрос отрабатывеет за 18 мс, больше ничего толкового выясниить удалось, у меня самого нет доступа к этому серваку, да и возможностей для контроля у этой версии сайбес слишком мало.
...
Рейтинг: 0 / 0
Производительность EF
    #39506136
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийЭтот код из реально работающего приложения, но то приложение было скомпилировано в VS2012,
а я это дело пробую в VS2013. EF тут совсем не причем -т.к. аналогична ситуация и с ADO.NET под VS2013.
Вот тут не понятно.

Было собранное приложение, оно работало на определённой машине с определённой версией фреймворка с определённой скоростью.
Вы его пересобрали под тот же фреймворк, обновили на той же машине, и оно стало работать медленнее?

Никаких других изменений не было? Выше Вы писали про какие-то новые компоненты.
...
Рейтинг: 0 / 0
Производительность EF
    #39506137
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийСчас переделал код так:
Код: c#
1.
.AsQueryable();

какой смысл? gcPoolSelectAll что возвращает? именно это важно, чтобы понять, где тормоз.

Ну или сделай по другому - выполни по шагам и посмотри SQL-профайлером, на какой именно строке происходит запрос к базе и сколько времени он занимает по данным профайлера
...
Рейтинг: 0 / 0
Производительность EF
    #39506143
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийskyANA, админ сказал что запрос отрабатывеет за 18 мс, больше ничего толкового выясниить удалось, у меня самого нет доступа к этому серваку, да и возможностей для контроля у этой версии сайбес слишком мало.
Так у Вас ещё и СУБД от Sybase? Не работал, не в курсе как и что там мониторить и профилировать.

Но что значит запрос отрабатывает за 18 мс? Как он это понял?
Если Вы ему скинули имя хранимки и значения параметров и он где-то там её выполнил прямо на серваке, то это не валидно.
Нужно смотреть, что прилетает от приложения, как долго это выполняется, как долго потом данные передаются по сети.
Вполне вероятно что на fetch данных с удалённого сервера как раз и уходит большая часть времени.
...
Рейтинг: 0 / 0
Производительность EF
    #39506146
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский,

а в gcPoolSelectAll_Result случаем нет свойств, инициализация которых требует дополнительных запросов к серверу?
...
Рейтинг: 0 / 0
Производительность EF
    #39506152
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 я не силен, т.к. юзаю его всего полгода - и буду благодарен за любые подсказки.
...
Рейтинг: 0 / 0
Производительность EF
    #39506155
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAМикола Питерский,

а в gcPoolSelectAll_Result случаем нет свойств, инициализация которых требует дополнительных запросов к серверу?

Не - ничего такого - обычный класс с несвязанными свойствами.
...
Рейтинг: 0 / 0
Производительность EF
    #39506182
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский, ндык Вы локализовали проблему... ковыряйте теперь вашу ХП....
...
Рейтинг: 0 / 0
Производительность EF
    #39506191
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийПоначалу подумал - что виноват EF, но потом эту же ХП запустил тем же ADO.NET кодом что и в старом приложении - те же тормоза.

Узкое горлышко это сеть. Если запрос тот же, база та же, то и выполняться будет так же. У вас проблема ограниченного канала связи сервера с локальной машиной, и видимо объём данных большой, перекачивать долго, потом ещё требуется время на материализацию запроса.

Конечно может быть ещё что-то, о чём мы не знаем, но пока, по поводу решения, всё в силе.

Пейджинг!
...
Рейтинг: 0 / 0
Производительность EF
    #39506224
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Никак нет - на этой же машине запускаю этот же запрос с помощью клиентского софта SQLAnywhere и получаю ответ
за примерно 2 сек.
Кроме того счас попрообовал старые компоненты 12 версии - результат тотже - тормоза.

Так что изменилось на машине - выходит только студия с 2012 на 2013. Это что получается?
...
Рейтинг: 0 / 0
Производительность EF
    #39506246
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский,

Мистика. Профилируйте тогда. Или давайте больше информации, чтобы разобраться.
...
Рейтинг: 0 / 0
Производительность EF
    #39506248
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, ты действительно прав!!!
Начал постоянно слать запросы и увидел что очень нечасто но получаю ответ достаточно быстро. Так что буду разбираться с ихними админами. Блин - 2 дня коту под хвост, еще и вас загрузил. Но одно радует - что EF6 заработал.
Всем большое спасибо!!!
...
Рейтинг: 0 / 0
Производительность EF
    #39506259
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский,

потому как надо мониторить и профилировать, а не гадать по версиям студии :) Не за что.
...
Рейтинг: 0 / 0
Производительность EF
    #39506575
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийНачал постоянно слать запросы и увидел что очень нечасто но получаю ответ достаточно быстро. Так что буду разбираться с ихними админами. Одмины тут не причем. Запрос скорее на блокировки нарывается. Попробуйте запускать в мирное вечернее время. А еще лучше на тестовой базе.
...
Рейтинг: 0 / 0
Производительность EF
    #39506593
31lqs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA31lqsПросто хотел помочь, чем знаю...
Вот только не помогли.

Объяснили бы толком, что предлагаете: обновить версию SQL Server, оперативы добавить и на in memory мигрировать?Именно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:)
...
Рейтинг: 0 / 0
Производительность EF
    #39506605
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
31lqsИменно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:)

Лучше посоветуй где арендовать сервер с 10 Тб оперативки на борту. Будем мигрировать.
...
Рейтинг: 0 / 0
Производительность EF
    #39506657
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
31lqsskyANAпропущено...

Вот только не помогли.

Объяснили бы толком, что предлагаете: обновить версию SQL Server, оперативы добавить и на in memory мигрировать?Именно так. Дополнительных денег потребует только оперативка:) А на на in memory мигрировать - скрипты же есть у ms, ну потестить придется конечно:)
Понятно, шутку заценил :) А Миколе Питерскому что посоветуете?
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Производительность EF
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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