Last post Nov 18, 2013 02:51 PM by valuja
Nov 16, 2013 09:11 AM|Coder111|LINK
There is a performance problem with a webservice I've written on our production server. I feel that I've investigated every avenue and as a last resort I'm turning to you for suggestions.
The webservice is created using spring.net's WebServiceExporter. Its purpose is to provide data for a kendo ui grid. Under the hood, I am using entity framework 5 to read some data and the dynamic linq library to cater for filtering / sorting / paging.
The service typically takes 2seconds to execute on my dev machine and on our load testing server, and between 4 and 8 seconds on the production/staging machine. I have added some diagnostic code to measure execution times on the server, and am seeing 994ms
to execute all code and write to the response stream.
This is the first request
The response contains sensitive data and I would rather not post it. Although, it has Content-Length: 9395.
I have been using lean sentry to analyse whats happening in the pipeline, and can see that the following items are slow:
I've been logged into the production server at 3am to test this our infrastructure team insist it is because of the server loading, but the delay is still there with all other sites turned off and nobody else accessing the server.
Kind of on my own on this one so I'm hoping that you can help. Case of beer in it for you if you can point me to a solution.
Nov 17, 2013 12:09 PM|Coder111|LINK
Could it be disk io speed? My databases are on seperate servers (for production and stress testing). Just spoke with a girl at the data center and she said that the production disk is 3 times slower than the load testing disk.
Could this be the cause? It is a big hasstle to swap the disks around, So I would love some reassurance. I will have a red face if we change it and there is no speed improvement.
Nov 17, 2013 10:25 PM|chetan.sarode|LINK
Instead of normal webservices go for RESTful Resvices, those are light weight
Nov 18, 2013 09:12 AM|Coder111|LINK
Thanks for that. I've spent the morning implementing a wcf service using webHttpBinding (REST). Unfortunately it is exactly the same :(
Nov 18, 2013 02:51 PM|valuja|LINK
Do you have access to the database server so that you can check if the queries that you make takes a long time to execute? According to your explanation it sounds very likely that it is a database issue.