Hi Guys,
I am running into memory issues running my script with version 2.0.0-RC2
My simulation is running from a Windows 2008 server virtual machine.
During test execution heap usage keeps increasing up to a point CPU usage goes through the roof and my tests fails.
My scenario looks like this:
setUp(scn.inject(constantUsersPerSec(1) during (600) // warm up of the SUT
,rampUsersPerSec(1) to(150) during(3600)
,constantUsersPerSec(150) during (172800))).protocols(httpProtocol)
Some relevant script information:
The script uses ELFilebodys with are fed with values from a number of feeders.
val httpProtocol = http
.baseURL(“https://some-host.com”)
.acceptHeader(""“application/soap+xml, application/dime, multipart/related, text/*”"")
.acceptEncodingHeader(""“gzip, deflate”"")
.userAgentHeader(""“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT)”"")
.check(regex(“faultstring”).notExists)
.check(regex("[^1185]<").notExists)
.check(regex("[^1059]<").notExists)
.check(regex(“errorNumber”).notExists)
.check(regex("[^1140]<").notExists)
.check(regex(“HostErrorCode”).notExists)
.check(regex(“faultcode”).notExists)
.disableCaching
.randomSwitch(
12.0 → exec(GetLocalDateTime_1A),
8.0 → randomSwitch(
90.0 → exec(GetSeatMap_1A),
8.0 → exec(GetSeatMap_COD),
2.0 → exec(GetSeatMap_GAT)
),
10.0 → randomSwitch(
90.0 → exec(ListDocument_1A),
8.0 → exec(ListDocument_COD),
2.0 → exec(ListDocument_GAT)
),
23.0 → exec(ListOperationalEligibility_1A),
15.0 → randomSwitch(
91.0 → exec(ListPassenger_1A),
9.0 → exec(ListPassenger_COD)
),
2.0 → exec(ProvidePassengerHandlingInformation_1A),
3.0 → exec(ProvidePassengerInformation_1A),
8.0 → randomSwitch(
90.0 → exec(UpdatePassenger_1A),
8.0 → exec(UpdatePassenger_COD),
2.0 → exec(UpdatePassenger_GAT)
),
1.0 → exec(ProvideTravelDocuments_1A),
3.0 → exec(GetEligibilityForMobileBP_AF),
14.0 → exec(publishConfirmation),
1.0 → exec(UpdateDocument_1A)
)
JVM arguments:
-Xms2g
-Xmx6g
-XX:NewSize=1g
-XX:+HeapDumpOnOutOfMemoryError
-XX:+AggressiveOpts
-XX:+OptimizeStringConcat
-XX:+UseFastAccessorMethods
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:+CMSClassUnloadingEnabled
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
I can share a heapdump and the full script with you via dropbox if you like.
Any help is appreciated since I’m trying to convince my management to use Gatling as a replacement for LoadRunner 
Cheers
Daniel