Архитектура для высокопроизводительной потоковой передачи данных в C #? - PullRequest
0 голосов
/ 20 сентября 2011

Мой текущий проект: мы подключаемся к удаленным серверам, которые заполняют нас связанными со здоровьем данными через TCP / IP.Полученные байтовые потоки анализируются в объекты, а объекты сохраняются в базе данных SQL Server.Клиенты в базе данных ожидают увидеть данные почти в реальном времени.

Проблема в том, что наше приложение не справляется с максимальной производительностью удаленного сервера.Мы профилировали приложение, и ни один из методов не выглядит слишком медленным.

Я предполагаю, что эта проблема была решена, по крайней мере, несколько раз.У кого-нибудь есть предложения, советы или рекомендации по этой проблеме?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2011

Исходя из того, что вы сказали, я предполагаю, что узкое место, вероятно, в вашей сети ввода-вывода.

Q: Вы сжимаете данные?

0 голосов
/ 20 сентября 2011

Попробуйте разбить большие части операции и искать альтернативные, более быстрые методы. Например, анализ данных отдельных функций может быть медленным, но в целом это может занять значительно больше времени, чем нужно (возможно, вам следует хранить байты в структурах или использовать, например, небезопасное приведение). Могут быть проблемы со вставкой БД (вы используете массовую вставку?). Возможно, структуру БД нужно изменить. Без дополнительной информации любому из нас будет сложно определить одну проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...