How do you stress test a TGE port? Can it be done with bots?
by Vincent Cojot · in Torque Game Engine · 09/26/2003 (3:03 am) · 7 replies
Hi everyone,
After a few dormant weeks, I can say I'm OK with the reliability of the Torque Engine port under Solaris/Sparc. I'd like to put it under some stress in order to: 1) See how stable it is and 2) See how it scales. The trouble I have is that I don't currently have access to a Solaris 8 /Sparc server on the net (where I could ask other players to connect to it). Therefore, I'd like to start a dedicated server on a Solaris box here and add bots in order to stress-test it.
Would that be representative enough? Would it reproduce more-or-less a real-world load? I'd be planning to do something along the lines of:
1)
or:
2)
What do you guys think? Would that give a good idea of the scalability of Torque on that platform? I must admit I'd like to see how many bots it takes to reach 100% cpu on one of our SunFire F6800 servers (24 1200Mhz cpu's with 8MB L2 cache each, 48Gb RAM min...).
Thanks for reading.
Vincent
After a few dormant weeks, I can say I'm OK with the reliability of the Torque Engine port under Solaris/Sparc. I'd like to put it under some stress in order to: 1) See how stable it is and 2) See how it scales. The trouble I have is that I don't currently have access to a Solaris 8 /Sparc server on the net (where I could ask other players to connect to it). Therefore, I'd like to start a dedicated server on a Solaris box here and add bots in order to stress-test it.
Would that be representative enough? Would it reproduce more-or-less a real-world load? I'd be planning to do something along the lines of:
1)
./torqueDemo.bin -dedicated -mission fps/data/,.....test1.mis
% $player = new AIPlayer() { dataBlock = LightMaleHumanArmor; aiPlayer = true; };
% AIPlayer::spawnPlayer();or:
2)
./torqueDemo.bin -dedicated -mission fps/data/,.....test1.mis
% $newbot = AIPlayer::spawnPlayer();
% $newbot.setShapeName( "BadGuy No." @ (%x + 1));
% $weapon = new Item(){ dataBlock = Rifle; };
% $ammo = new Item(){ dataBlock = RifleAmmo; };
% MissionCleanup.add(%weapon);
% MissionCleanup.add(%ammo);
% $newbot.pickup($weapon,1);
% $newbot.pickup($ammo,2);
% $newbot.use(Rifle);
% MissionCleanup.add($newbot);What do you guys think? Would that give a good idea of the scalability of Torque on that platform? I must admit I'd like to see how many bots it takes to reach 100% cpu on one of our SunFire F6800 servers (24 1200Mhz cpu's with 8MB L2 cache each, 48Gb RAM min...).
Thanks for reading.
Vincent
#2
Could you give me more details? Which of the above should be preferred? What kind of numbers should I be looking for? Thanks for reading... Is it the same way in which you guys stress-tested TGE in the past?
Vincent
09/26/2003 (6:11 am)
Hi Ben,Could you give me more details? Which of the above should be preferred? What kind of numbers should I be looking for? Thanks for reading... Is it the same way in which you guys stress-tested TGE in the past?
Vincent
#3
That would be a pretty good workout of the net code, physics code, sim code, everything except graphics (which you don't care about anyway in this situation).
09/26/2003 (10:17 am)
To get a "proper" stress test, I'd put the server on a fast LAN connection to another box, and then run a bunch of headless Torque clients on that server. Since they wouldn't be rendering anything, you ought to be able to run a lot of them on a fairly modest box; then if you had, say, an explosive weapon that would shove players around, you could herd all the braindead players into one area and then send them flying with the explosives.That would be a pretty good workout of the net code, physics code, sim code, everything except graphics (which you don't care about anyway in this situation).
#4
you didnt mention vehicles.
the collision code with them is pretty intense.
see how many cars you can put together.
first place em logical
then move em around real close make stacks n' stuff.
doing so in a manner relevant to gamers.
09/26/2003 (10:38 am)
I would look for more collision hits.you didnt mention vehicles.
the collision code with them is pretty intense.
see how many cars you can put together.
first place em logical
then move em around real close make stacks n' stuff.
doing so in a manner relevant to gamers.
#5
Thanks for your comments.. I didn't know it was possible to run headless Torque Clients?? How would that be done (please forgive my ignorance)?
to BadGuy: thanks for the hint on vehicles, I'll try to figure out how to load them into the dedicated server.. Do you have more 'technical' details about this?
Thanks for the great input. I'm now eager to run some stress tests and see how it works out...
Vincent
09/26/2003 (12:32 pm)
Hi again Ben,Thanks for your comments.. I didn't know it was possible to run headless Torque Clients?? How would that be done (please forgive my ignorance)?
to BadGuy: thanks for the hint on vehicles, I'll try to figure out how to load them into the dedicated server.. Do you have more 'technical' details about this?
Thanks for the great input. I'm now eager to run some stress tests and see how it works out...
Vincent
#6
09/26/2003 (2:06 pm)
Vincent - it's not right now. You'd have to figure out how to get Torque to not render anything. This shouldn't be very difficult, tho it'd be time consuming.
#7
as for the vehicle stuff...
you can manually add them to a mission file. that way no messing with the dedicated server (would have to make scripts otherwise im sure)
seeing how its just a stress test.
and your not doing a render test what I would do is place them really close together like a tight packed parking lot..
maybe write a script that adds them one at a time under some schedule
for me this is key, if the system can handle alot more vehicle calculations than normal then its a good bonus.
This is where the engine crawls.. when you have to many vehicle collisions.
09/26/2003 (2:11 pm)
Yea just crack into the scenegraph.as for the vehicle stuff...
you can manually add them to a mission file. that way no messing with the dedicated server (would have to make scripts otherwise im sure)
seeing how its just a stress test.
and your not doing a render test what I would do is place them really close together like a tight packed parking lot..
maybe write a script that adds them one at a time under some schedule
for me this is key, if the system can handle alot more vehicle calculations than normal then its a good bonus.
This is where the engine crawls.. when you have to many vehicle collisions.
Associate Kyle Carter