mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
add a script for server load testing
This commit is contained in:
parent
3d06a86670
commit
69143d8677
1 changed files with 68 additions and 0 deletions
68
examples/utilities/diagnostics/loadTestServers.js
Normal file
68
examples/utilities/diagnostics/loadTestServers.js
Normal file
|
@ -0,0 +1,68 @@
|
|||
//
|
||||
// loadTestServers.js
|
||||
// examples/utilities/diagnostics
|
||||
//
|
||||
// Created by Stephen Birarda on 05/08/15.
|
||||
// Copyright 2015 High Fidelity, Inc.
|
||||
//
|
||||
// Distributed under the Apache License, Version 2.0.
|
||||
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||
//
|
||||
// This script is made for load testing HF servers. It connects to the HF servers and sends/receives data.
|
||||
// Run this on an assignment-client.
|
||||
//
|
||||
|
||||
var count = 0;
|
||||
var yawDirection = -1;
|
||||
var yaw = 45;
|
||||
var yawMax = 70;
|
||||
var yawMin = 20;
|
||||
var vantagePoint = {x: 5000, y: 500, z: 5000};
|
||||
|
||||
var isLocal = false;
|
||||
|
||||
// set up our EntityViewer with a position and orientation
|
||||
var orientation = Quat.fromPitchYawRollDegrees(0, yaw, 0);
|
||||
|
||||
EntityViewer.setPosition(vantagePoint);
|
||||
EntityViewer.setOrientation(orientation);
|
||||
EntityViewer.queryOctree();
|
||||
|
||||
Agent.isListeningToAudioStream = true;
|
||||
Agent.isAvatar = true;
|
||||
|
||||
function getRandomInt(min, max) {
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
|
||||
function keepLooking(deltaTime) {
|
||||
count++;
|
||||
|
||||
if (count % getRandomInt(5, 15) == 0) {
|
||||
yaw += yawDirection;
|
||||
orientation = Quat.fromPitchYawRollDegrees(0, yaw, 0);
|
||||
|
||||
if (yaw > yawMax || yaw < yawMin) {
|
||||
yawDirection = yawDirection * -1;
|
||||
}
|
||||
|
||||
EntityViewer.setOrientation(orientation);
|
||||
EntityViewer.queryOctree();
|
||||
|
||||
}
|
||||
|
||||
// approximately every second, consider stopping
|
||||
if (count % 60 == 0) {
|
||||
print("considering stop.... elementCount:" + EntityViewer.getOctreeElementsCount());
|
||||
|
||||
var stopProbability = 0.05; // 5% chance of stopping
|
||||
|
||||
if (Math.random() < stopProbability) {
|
||||
print("stopping.... elementCount:" + EntityViewer.getOctreeElementsCount());
|
||||
Script.stop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// register the call back so it fires before each data send
|
||||
Script.update.connect(keepLooking);
|
Loading…
Reference in a new issue