У меня проблема. Мои запросы LINQ to SQL
подталкивают данные к базе данных со скоростью ~ 1000 строк в секунду. Но для меня это слишком медленно. Объекты не сложны. Использование ЦП < 10%, а пропускная способность также не является узким местом.LINQ to SQL - Как это сделать с базой данных быстрее
10% на клиенте, на сервер 0% или не более 1%, как правило, не работает вообще, не пересекая индексы и т.д.
Почему 1000/s медленно, мне нужно что-то около 20000/s - 200000/s, чтобы решить мою проблему другим способом, я получу больше данных, чем могу рассчитать.
Я не использую транзакцию, но LINQ
используя, когда я отправляю, например, объекты milion новые объекты в DataContext и запускают SubmitChanges()
, то это вставляет в LINQ
внутреннюю транзакцию.
Я не использую параллель LINQ
, у меня не так много вариантов, в основном в этом сценарии я вставляю объекты и хочу использовать все ресурсы, у меня есть не только 5% od cpu и 10kb/s сети!
Почему 1000 строк в секунду слишком медленно? Потребление процессора составляет 10% на сервере или клиенте? Вы сделали трассировку на сервере? – Stu
Запись в 1000 строк в секунду - это респектабельная скорость, особенно для сильно индексированных таблиц или таблиц с триггерами. Если вы считаете, что можете идти быстрее, попробуйте сырые вызовы ado.net и посмотрите, поможет ли это (я сомневаюсь). – dasblinkenlight
Используете ли вы транзакции на SQL-сервере? –