|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
Работал до сего момента с веб-проеrтами и там в проектах хостились http-хэндлеры для работы с бд - типа сервисы. их производительность была доли милисекунд при вызове со страницы при помощи JavaScript HttpWebRequest. Написал простой WCF сервис который хостится в IIS7 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
binding = basicHttpBinding так вызов его с клиента занимает 508 милисекунд и это уже повторный вызов!!!! почему так долго? этоже неприемлемо для нормальной работы! что я делаю не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2010, 17:22 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
Да делал тест такая же фигня... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 16:53 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
spРаботал до сего момента с веб-проеrтами и там в проектах хостились http-хэндлеры для работы с бд - типа сервисы. их производительность была доли милисекунд при вызове со страницы при помощи JavaScript HttpWebRequest. Написал простой WCF сервис который хостится в IIS7 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
binding = basicHttpBinding так вызов его с клиента занимает 508 милисекунд и это уже повторный вызов!!!! почему так долго? этоже неприемлемо для нормальной работы! что я делаю не так? а если тот же сервис захостить под своим консольным приложением? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2010, 20:46 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
sp, WCF - "фундаментальная" среда, а "Написал простой WCF сервис" - это добрая дюжина (если не больше) параметров по-умолчанию со стороны WCF плюс "...вызов его с клиента занимает 508 милисекунд и это уже повторный вызов!!!!" (т.е. это не сотня/тыща клиентов и одновременных запросов от них - так?) - со стороны разработчика... так это...эээ... разве это тест? для начала надо бы определиться что тестировать... WCF - множество разнообразных моделей (поведения сервиса), по-умолчанию WCF сервис - это новый (сервисный) объект на каждый вызов, "...там в проектах хостились http-хэндлеры для работы с бд - типа сервисы. их производительность была доли милисекунд..." - возможно это соответствует синглтону (в WCF), попробуй... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2010, 19:59 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
LRsp, для начала надо бы определиться что тестировать... WCF - множество разнообразных моделей (поведения сервиса), по-умолчанию WCF сервис - это новый (сервисный) объект на каждый вызов, "...там в проектах хостились http-хэндлеры для работы с бд - типа сервисы. их производительность была доли милисекунд..." - возможно это соответствует синглтону (в WCF), попробуй... Спасибо, попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2010, 19:36 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
Та же фигня :( В смысле - полное разочарование в скорости работы WCF. Пытался передать через WCF стрим полученный из табличных данных ( результат некоего SQL запроса ) сериализованный бинарным сериализатором. Короче, нужно было передавать результаты определенных запросов. Использовал якобы "быстрый" NetTcpBinding. Разве что только TransferMode установить в Streaming не удалось, поскольку совместно с "SessionMode = SessionMode.Required" эта хрень не пашет. Для сравнения использовалось время получения того же результата путем прямого подключения через ADO.NET к удаленному SQL серверу, находящемуся на той же машине, где и т.н. сервер приложений с WCF. Так вот скорость получения данных через WCF оказалась катастрофически низкой. Она была в десятки раз медленее ( контретно в примере ~ 12 sec против ~ 200 ms ) Танцы с бубном вокруг настроек пока не помогли :( Чувствую, что придется реализовывать свой собственный протокол обмена поверх TcpClient/TcpListner Т.к. в аналогичном тесте скорость обмена уже сопоставима со скоростью прямого чтения через ADO.NET Если здесь есть гуру по WCF, то pls откликнитесь на пару вопросов. А-то может решение где-то рядом... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2010, 18:29 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
народ чето не то у вас. у меня правда хост на консольке. но у меня по несколько транзакций пролетает в 1 мс. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.08.2010, 18:59 |
|
Разочаровывает производительность WCF
|
|||
---|---|---|---|
#18+
Leonid Та же фигня :( В смысле - полное разочарование в скорости работы WCF. Пытался передать через WCF стрим полученный из табличных данных ( результат некоего SQL запроса ) сериализованный бинарным сериализатором. Короче, нужно было передавать результаты определенных запросов. Использовал якобы "быстрый" NetTcpBinding. Разве что только TransferMode установить в Streaming не удалось, поскольку совместно с "SessionMode = SessionMode.Required" эта хрень не пашет. Для сравнения использовалось время получения того же результата путем прямого подключения через ADO.NET к удаленному SQL серверу, находящемуся на той же машине, где и т.н. сервер приложений с WCF. Так вот скорость получения данных через WCF оказалась катастрофически низкой. Она была в десятки раз медленее ( контретно в примере ~ 12 sec против ~ 200 ms ) Танцы с бубном вокруг настроек пока не помогли :( Чувствую, что придется реализовывать свой собственный протокол обмена поверх TcpClient/TcpListner Т.к. в аналогичном тесте скорость обмена уже сопоставима со скоростью прямого чтения через ADO.NET Если здесь есть гуру по WCF, то pls откликнитесь на пару вопросов. А-то может решение где-то рядом... ну это тогда не ситрим передача, ничего бы не изменилось если бы передавали byte[] насколько я понял для стрим передачи нужен именно стрим режим и передавать именно частями, т.е. для данных из базу нужно написать свой стримкласс, при чтении которого читался бы датаридер, а не тупо начитать данные, сериализовать в массив байт а потом передать, в этом нет смысла, точнее это получается не стримпередача. стрим это типа return new FileStream("c:\test.rar"), а на клиенте читаешь. Или я чего не понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2010, 17:22 |
|
|
start [/forum/topic.php?fid=19&fpage=25&tid=1397607]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 185ms |
0 / 0 |