Skip to content

Real world performance

Demis Bellot edited this page Jul 23, 2013 · 13 revisions

We maintain a list of external benchmark results here people have been experiencing to provide an idea of the relative performance you can expect from real-world usage:

EF & JSON.NET                         2300ms
EF [AsNoTracking] & JSON.NET           973ms
EF [AsNoTracking] & ServiceStack       809ms
Simple.Data & JSON.NET                1598ms
Simple.Data & ServiceStack             933ms
ServiceStack.OrmLite & JSON.NET        405ms
ServiceStack.OrmLite & ServiceStack    245ms
ServiceStack                 9667ms
WebApi                      30407ms

(PS: The previous results showed huge difference, and that is due to the difference in the clients. When both uses the same JsonClient, they end up quite close to each other. And swapping in the ServiceStack Json Serializer into WebApi makes the difference negligible.)

GitHub project for the benchmarks are at: https://github.com/anilmujagic/ServiceBenchmark

ServiceStack                    19s
WCF Data Services (Optimized)   28s
WCF Data Services               48s

One thing that I was completely surprised by today was the performance of the open source ServiceStack.NET frameworks. Even with the performance tuned release of JSON.NET I found that ServiceStack.Text beat it by a rediculous margin. It serialises 2x faster and deserialises 4x faster.

Redis (Cygwin)                254ms
Redis (Cygwin + fsync)        543ms
Raven DB                     2983ms

We've also previously graphed comprehensive 3rd Party benchmarks and a couple of our own at: servicestack.net/benchmarks/.



  1. Getting Started
    1. Create your first webservice
    2. Your first webservice explained
    3. ServiceStack's new API Design
    4. Designing a REST-ful service with ServiceStack
    5. Example Projects Overview
  2. Reference
    1. Order of Operations
    2. The IoC container
    3. Metadata page
    4. Rest, SOAP & default endpoints
    5. SOAP support
    6. Routing
    7. Service return types
    8. Customize HTTP Responses
    9. Plugins
    10. Validation
    11. Error Handling
    12. Security
  3. Clients
    1. Overview
    2. C# client
    3. Silverlight client
    4. JavaScript client
    5. Dart Client
    6. MQ Clients
  4. Formats
    1. Overview
    2. JSON/JSV and XML
    3. ServiceStack's new HTML5 Report Format
    4. ServiceStack's new CSV Format
    5. MessagePack Format
    6. ProtoBuf Format
  5. View Engines 4. Razor & Markdown Razor
    1. Markdown Razor
  6. Hosts
    1. IIS
    2. Self-hosting
    3. Mono
  7. Advanced
    1. Configuration options
    2. Access HTTP specific features in services
    3. Logging
    4. Serialization/deserialization
    5. Request/response filters
    6. Filter attributes
    7. Concurrency Model
    8. Built-in caching options
    9. Built-in profiling
    10. Messaging and Redis
    11. Form Hijacking Prevention
    12. Auto-Mapping
    13. HTTP Utils
    14. Virtual File System
    15. Config API
    16. Physical Project Structure
    17. Modularizing Services
  8. Plugins
    1. Sessions
    2. Authentication/authorization
    3. Request logger
    4. Swagger API
  9. Tests
    1. Testing
    2. HowTo write unit/integration tests
  10. Other Languages
    1. FSharp
    2. VB.NET
  11. Use Cases
    1. Single Page Apps
    2. Azure
    3. Logging
    4. Bundling and Minification
    5. NHibernate
  12. Performance
    1. Real world performance
  13. How To
    1. Sending stream to ServiceStack
    2. Setting UserAgent in ServiceStack JsonServiceClient
    3. ServiceStack adding to allowed file extensions
    4. Default web service page how to
  14. Future
    1. Roadmap
Clone this wiki locally