ndt-dev - Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test...
Subject: NDT-DEV email list created
List archive
Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test...
Chronological Thread
- From: Matt Mathis <>
- To: Will Hawkins <>
- Cc: Sebastian Kostuch <>, "<>" <>, Tiziana Refice <>
- Subject: Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test...
- Date: Fri, 21 Mar 2014 11:35:19 -0700
Circumstantial evidence suggests that the flash runtime event processing may be synchronized to the display refresh rate.... It would be interesting to know it changing the display settings changed the maximum performance.
The best way to predict the future is to create it. - Alan Kay
Privacy matters! We know from recent events that people are using our services to speak in defiance of unjust governments. We treat privacy and security as matters of life and death, because for some users, they are.
Thanks,
--MM--The best way to predict the future is to create it. - Alan Kay
Privacy matters! We know from recent events that people are using our services to speak in defiance of unjust governments. We treat privacy and security as matters of life and death, because for some users, they are.
On Fri, Mar 21, 2014 at 11:19 AM, Tiziana Refice <> wrote:
Will and Matt have been doing some experiments about that recently.Will, could you share the results with Sebastian?On Fri, Mar 21, 2014 at 10:17 AM, Sebastian Kostuch <> wrote:
I think that when connecting to localhost speed should be much more higher (unfortunately I am not able to achieve better
results connecting to another server). I have just noticed that when using C/Java client results are in fact way better
(around 14Gb/s for upload and almost 9Gb/s download). So it seems like flash client is somehow restricted (tested on
different flash version and results are the same). Could also someone confirm that on higher speeds flash client doesn't
give similar speeds compared to Java/C ones?
Regards,
SK
On 21.03.2014 10:51, Tiziana Refice wrote:
Ideally, it would be better to test this change at much higher speed (i.e., as close to 1Gbps as possible).Would it be possible for you to make such test?
On Wed, Mar 19, 2014 at 12:01 PM, Sebastian Kostuch <> wrote:
Hi Tiziana,
I have performed some simple test which was executing flash client 10 times on my changes (with timer set to 1s) and on newest trunk version of client. Both were made toward localhost NDT server (newest web10g) to achieve big speed. Here are results (download/upload in Mb/s):
trunk version version from Issue131 branch
110.9/439.0 128.1/486.0
121.8/456.8 122.2/471.9
104.1/471.9 123.6/452.7
120.5/478.7 126.4/451.0
123.2/515.1 113.3/468.9
120.8/462.7 130.8/476.8
121.0/433.3 116.7/442.5
109.1/473.7 115.6/442.8
128.0/469.3 112.5/467.6
118.8/469.0 126.5/496.2
average:
117.82/466.95 121.57/465.64
These results are very similar to each other so it seems that these new events won't impact accuracy of test. Is it valuable proof for you?
Regards,
Sebastian Kostuch
On 17.03.2014 11:40, Tiziana Refice wrote:
I am concerned this change (which adds new events that will fire during the execution of the test) will affect the accuracy of the test.I would prefer to have test data that show that this is not the case, especially for very high speeds (e.g., 900+Mbps). See last email by Matt Mathis to ndt-dev on this topic for details on the issue.
On Wed, Mar 12, 2014 at 12:17 PM, <> wrote:
Revision: 1012
Author:
Date: Wed Mar 12 12:17:39 2014 UTC
Log: Download/upload speed in flash client is now being updated during test duration
http://code.google.com/p/ndt/source/detail?r=1012
Modified:
/branches/Issue131/flash-client/src/TestC2S.as
/branches/Issue131/flash-client/src/TestS2C.as
=======================================
--- /branches/Issue131/flash-client/src/TestC2S.as Fri Feb 21 07:41:20 2014 UTC
+++ /branches/Issue131/flash-client/src/TestC2S.as Wed Mar 12 12:17:39 2014 UTC
@@ -30,6 +30,8 @@
* This class performs the Client-to-Server throughput test.
*/
public class TestC2S {
+ private const SPEED_UPDATE_TIMER:int = 1000; // ms
+
// Valid values for _testStage.
private static const PREPARE_TEST1:int = 0;
private static const PREPARE_TEST2:int = 1;
@@ -45,12 +47,14 @@
private var _c2sTestSuccess:Boolean;
// Time to send data to server on the C2S socket.
private var _c2sTestDuration:Number;
+ private var _c2sTestStartTime:Number;
private var _ctlSocket:Socket;
private var _c2sSocket:Socket;
private var _c2sSendCount:int;
// Bytes not sent from last send operation on the C2S socket.
private var _c2sBytesNotSent:int;
private var _c2sTimer:Timer;
+ private var _speedUpdateTimer:Timer;
private var _dataToSend:ByteArray;
private var _msg:Message;
private var _serverHostname:String;
@@ -64,6 +68,7 @@
_c2sTestSuccess = true; // Initially the test has not failed.
_c2sTestDuration = 0;
+ _c2sTestStartTime = 0;
_dataToSend = new ByteArray();
_c2sSendCount = 0;
_c2sBytesNotSent = 0;
@@ -175,6 +180,8 @@
_c2sTimer = new Timer(NDTConstants.C2S_DURATION);
_c2sTimer.addEventListener(TimerEvent.TIMER, onC2STimeout);
+ _speedUpdateTimer = new Timer(SPEED_UPDATE_TIMER);
+ _speedUpdateTimer.addEventListener(TimerEvent.TIMER, onSpeedUpdate);
_msg = new Message();
_testStage = START_TEST;
TestResults.appendDebugMsg("C2S test: START_TEST stage.");
@@ -244,6 +251,16 @@
TestResults.appendDebugMsg("Timeout for sending data on C2S socket.");
closeC2SSocket();
}
+
+ private function onSpeedUpdate(e:TimerEvent):void {
+ _c2sTestDuration = getTimer() - _c2sTestStartTime;
+ _c2sBytesNotSent = _c2sSocket.bytesPending;
+ var c2sByteSent:Number = (
+ _c2sSendCount * NDTConstants.PREDEFINED_BUFFER_SIZE
+ + (NDTConstants.PREDEFINED_BUFFER_SIZE - _c2sBytesNotSent));
+
+ TestResults.ndt_test_results::c2sSpeed = (c2sByteSent * NDTConstants.BYTES2BITS);
+ }
private function startTest():void {
if (!_msg.readHeader(_ctlSocket))
@@ -267,9 +284,10 @@
removeCtlSocketOnReceivedDataListener();
_c2sTimer.start();
+ _speedUpdateTimer.start();
// Record start time right before it starts sending data, to be as
// accurate as possible.
- _c2sTestDuration = getTimer();
+ _c2sTestStartTime = getTimer();
_testStage = SEND_DATA;
TestResults.appendDebugMsg("C2S test: SEND_DATA stage.");
@@ -288,9 +306,11 @@
private function closeC2SSocket():void {
// Record end time right after it stops sending data, to be as accurate as
// possible.
- _c2sTestDuration = getTimer() - _c2sTestDuration;
+ _c2sTestDuration = getTimer() - _c2sTestStartTime;
TestResults.appendDebugMsg(
"C2S test lasted " + _c2sTestDuration + " msec.");
+ _speedUpdateTimer.stop();
+ _speedUpdateTimer.removeEventListener(TimerEvent.TIMER, onSpeedUpdate);
_c2sTimer.stop();
_c2sTimer.removeEventListener(TimerEvent.TIMER, onC2STimeout);
=======================================
--- /branches/Issue131/flash-client/src/TestS2C.as Fri Feb 21 07:41:20 2014 UTC
+++ /branches/Issue131/flash-client/src/TestS2C.as Wed Mar 12 12:17:39 2014 UTC
@@ -31,6 +31,7 @@
public class TestS2C {
// Timer for single read operation.
private const READ_TIMEOUT:int = 15000; // 15sec
+ private const SPEED_UPDATE_TIMER:int = 1000; // ms
// Valid values for _testStage.
private static const PREPARE_TEST1:int = 0;
@@ -48,17 +49,18 @@
private var _ctlSocket:Socket;
private var _msg:Message;
private var _readTimer:Timer;
+ private var _speedUpdateTimer:Timer;
private var _s2cByteCount:int;
private var _s2cSocket:Socket;
private var _s2cTimer:Timer;
// Time to send data to client on the S2C socket.
private var _s2cTestDuration:Number;
+ private var _s2cTestStartTime:Number;
private var _s2cTestSuccess:Boolean;
private var _serverHostname:String;
private var _testStage:int;
private var _web100VarResult:String;
-
public function TestS2C(ctlSocket:Socket, serverHostname:String,
callerObj:NDTPController) {
_callerObj = callerObj;
@@ -67,6 +69,7 @@
_s2cTestSuccess = true; // Initially the test has not failed.
_s2cTestDuration = 0;
+ _s2cTestStartTime = 0;
_s2cByteCount = 0;
_web100VarResult = "";
}
@@ -172,6 +175,8 @@
}
_readTimer = new Timer(READ_TIMEOUT);
_readTimer.addEventListener(TimerEvent.TIMER, onS2CTimeout);
+ _speedUpdateTimer = new Timer(SPEED_UPDATE_TIMER);
+ _speedUpdateTimer.addEventListener(TimerEvent.TIMER, onSpeedUpdate);
_s2cTimer = new Timer(NDTConstants.S2C_DURATION);
_s2cTimer.addEventListener(TimerEvent.TIMER, onS2CTimeout);
_msg = new Message();
@@ -234,6 +239,13 @@
_readTimer.start();
receiveData();
}
+
+ private function onSpeedUpdate(e:TimerEvent):void {
+ _s2cTestDuration = getTimer() - _s2cTestStartTime;
+ TestResults.ndt_test_results::s2cSpeed = _s2cByteCount
+ * NDTConstants.BYTES2BITS
+ / _s2cTestDuration;
+ }
private function startTest():void {
if (!_msg.readHeader(_ctlSocket))
@@ -258,9 +270,10 @@
_readTimer.start();
_s2cTimer.start();
+ _speedUpdateTimer.start();
// Record start time right before it starts receiving data, to be as
// accurate as possible.
- _s2cTestDuration = getTimer();
+ _s2cTestStartTime = getTimer();
_testStage = RECEIVE_DATA;
TestResults.appendDebugMsg("S2C test: RECEIVE_DATA stage.");
@@ -290,9 +303,11 @@
// Record end time right after it stops receiving data, to be as accurate
// as possible.
_s2cTimer.stop();
- _s2cTestDuration = getTimer() - _s2cTestDuration;
+ _s2cTestDuration = getTimer() - _s2cTestStartTime;
TestResults.appendDebugMsg(
"S2C test lasted " + _s2cTestDuration + " msec.");
+ _speedUpdateTimer.stop();
+ _speedUpdateTimer.removeEventListener(TimerEvent.TIMER, onSpeedUpdate);
_readTimer.stop();
_readTimer.removeEventListener(TimerEvent.TIMER, onS2CTimeout);
_s2cTimer.removeEventListener(TimerEvent.TIMER, onS2CTimeout);
@@ -485,7 +500,6 @@
removeCtlSocketOnReceivedDataListener();
TestResults.appendDebugMsg("S2C test: END_TEST stage.");
-
if (_s2cTestSuccess)
TestResults.appendDebugMsg(
ResourceManager.getInstance().getString(
- [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., ndt, 03/12/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/17/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Sebastian Kostuch, 03/19/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Sebastian Kostuch, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Matt Mathis, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Will Hawkins, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Matt Mathis, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Will Hawkins, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Will Hawkins, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Matt Mathis, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Will Hawkins, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Will Hawkins, 03/27/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Matt Mathis, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Sebastian Kostuch, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/21/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Sebastian Kostuch, 03/19/2014
- Re: [ndt-dev] [ndt] r1012 committed - Download/upload speed in flash client is now being updated during test..., Tiziana Refice, 03/17/2014
Archive powered by MHonArc 2.6.16.