2010-07-17
Load testing WCF services with Apache BenchFredrik Lindström
Apache Bench is a load testing tool that ships with Apache HTTP Server but it can also be run against WCF services with basicHttp or wsHttp bindings. The tool itself consists of one EXE file which makes deploying it to multiple client machines a trivial affair.
Notes
- We used Apache Bench against BizTalk WCF (wsHttp, two-way) receive locations to identify bottlenecks throughout our entire solution
- Security was disabled on the WCF service that Apache Bench was hitting
- There is no ramp-up. Apache Bench will hit your service with full force right from the start.
- Use PerfMon to see how your service and back-end systems are doing
- Apache bench is very light weight on the client, hardly CPU utilization at all
Apache Bench command – 200 requests with 50 concurrent calls
ab -T “application/soap+xml; charset=UTF-8″ -p data.xml -n 200 -c 50 http://biztalk/OrderService.svc
data.xml
This file contains the message that Apache Bench will send to the service. Use Fiddler to see and copy what is going over the wire when a normal WCF client is sending messages to your service
Apache Bench output
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking biztalk (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requestsServer Software: Microsoft-IIS/7.5
Server Hostname: biztalk
Server Port: 80Document Path: /OrderService.svc
Document Length: 1766 bytesConcurrency Level: 50
Time taken for tests: 3.767 seconds
Complete requests: 200
Failed requests: 0
Write errors: 0
Total transferred: 416000 bytes
Total POSTed: 188200
HTML transferred: 353200 bytes
Requests per second: 53.09 [#/sec] (mean)
Time per request: 941.844 [ms] (mean)
Time per request: 18.837 [ms] (mean, across all concurrent requests)
Transfer rate: 107.83 [Kbytes/sec] received
48.78 kb/s sent
156.62 kb/s totalConnection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 0.6 1 5
Processing: 217 851 312.2 795 1937
Waiting: 216 850 312.2 791 1937
Total: 218 852 312.3 795 1938Percentage of the requests served within a certain time (ms)
50% 795
66% 922
75% 1026
80% 1079
90% 1255
95% 1551
98% 1781
99% 1879
100% 1938 (longest request)
|
|
2010-04-06
Qbranch Syd söker utvecklarePer Önnemyr | QbranchSyd, rekrytering
Vi på Qbranch Syd söker en systemutvecklare med fokus på integration till Malmö. Är du sugen eller känner någon som är så gå in på vår sida Qbranch.se och läs mer under Karriär.
Hoppas vi ses!
| + Comments (3) |
|
2010-03-09
Recap from GTUG Sthlm 4/3: Groovy, MIDI and some Closure...Leonard Axelsson | appengine, gaelyk, groovy, presentation
Did a presentation about Groovy on Google's App Engine at GTUG Stockholm last thursday. Had a great evening as expected.
Johan Burell (@Burre83) demoed his api and client implementation of a MIDI api for the android. The live "DJ on the Android" demo was cool even though it was impossible to actually see what he did as he used his own phone instead of the emulator during the demo.
Mikael Kindborg (@divineprog) presented on Google Closure, a new library for JS development which comes with what seems to be a really effective JavaScript Optimizer. There was even some more Android to be had when he demoed his JS Android Client that receives JavaScript over a socket and runs it on the device. Was kinda cool when a guy on the first row held up the Mikaels Android and we could se how the ui on the phone changed as Mikael recoded it live on his computer. I have a hard time seeing the practical applications for this but it's a cool demo non the less.
I focused on how to leverage Groovy on App Engine using Gaelyk as Grails IMHO isn't really worth the effort right now (on GAE). The environment I used was SpringSource Tool Suite (Groovy support) and the Google App Engine Plugin for Eclipse.
Presentation and examples: on Github as well as on GTUG Stockholm:s page
| + Comments (0) |
|
2010-02-15
DSCT 2.0 Beta 3Fredrik Lindström
I’ve been meaning to get a final 2.0 version out the door for quite some time but work has taken up most of my free time and will continue to do so for a while longer. I hope you find this new version useful but please keep in mind that it is a beta version.
Special Thanks to Daniel Brad for some real world testing.
Download
Scalability
Performance
New features
Misc
Known Issues
Let me know
Feel free to leave a comment if you run into any issues
|
|
2010-02-06
Sharepoint 2010, ADFS 2.0 and RolesFredrik Lindström
I’ve been tinkering quite a bit with Sharepoint 2010 and ADFS 2.0 lately and figured that this was worth sharing.
I followed the steps outlined in Travis Nielsen’s blog post to configure a federated identity provider in Sharepoint 2010 and configured ADFS 2.0 in my own way since our setup involves quite a few partner organizations. One thing that is not mentioned in the step by step guide is how to configure Sharepoint to accept role claims and assign access rights based on those claims.
The following Powershell snippet will do the trick
$issuer = Get-SPTrustedIdentityTokenIssuer
$issuer.ClaimTypes.Add(”http://schemas.microsoft.com/ws/2008/06/identity/claims/role“)
$map = New-SPClaimTypeMapping “http://schemas.microsoft.com/ws/2008/06/identity/claims/role” -IncomingClaimTypeDisplayName “Role” -SameAsIncoming
$issuer.AddClaimTypeInformation($map)
$issuer.Update()
After this the “Role” entry will show up in the people picker and you will be able to assign role claims to Sharepoint groups.
|
|

