Re: [tor-dev] First draft of Requirements and Software Design for a Better Tor Performance Measurement Tool

2013-10-23 Thread Karsten Loesing
[Adding tor-dev@ back to the Cc.]

On 10/8/13 7:25 PM, Robert Annessi wrote:
 On Friday 06 September 2013 15:58:53 Karsten Loesing wrote:
 I just finished a first draft of a tech report sketching out the
 requirements and a software design for a new Torperf implementation.
 
 Feedback in the form of patches to the LaTeX sources is most preferred,
 though email replies are of course fine, too.
 
 I would add a Circuit build success/failure rate to the tests. Recent 
 events 
 (botnet) clearly showed that such data is needed but missing.

Absolutely.  The plan is to log stream and circuit information on the
tor processes used by Torperf.  See section 2.2.1 Results format for
details:


Results may include data which appear not immediately relevant to
measuring Tor performance, but which may be useful for related purposes.
For example, Torperf should include data about circuit failures in its
results, even though these circuits may not have been used in actual
requests.%
\footnote{\url{https://trac.torproject.org/projects/tor/ticket/8662}}


Also see the appendix that specifies data formats for stream and circuit
information.

If you have suggestions for making this clearer, can you send me a patch
to the LaTeX sources?

https://gitweb.torproject.org/user/karsten/tech-reports.git/blob/refs/heads/torperf2:/2013/torperf2/torperf2.tex

All the best,
Karsten

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] First draft of Requirements and Software Design for a Better Tor Performance Measurement Tool

2013-09-09 Thread Karsten Loesing
On 9/6/13 6:52 PM, Zack Weinberg wrote:
 An experiment making these more realistic measurements should use
 -something like Selenium/Firefox to control an actual browser to make
 +something like Selenium to control an actual Tor Browser to make
 requests.
 
 FYI, I have written code that downloads the present Tor Browser alpha
 and Python Selenium client and monkey-patches them to play nice
 together; see https://github.com/zackw/tailwagger .  It's very
 specialized for my requirements right now, but might still be of use
 to you.  Look especially at what is done to TBB and python-selenium by
 the patches under pkg/tor-browser-3.0a3 and
 pkg/python-selenium-2.33.0,  and the TbbDriver class in
 client/tbbselenium.py .

Added as footnote to the report.  Thanks!

Best,
Karsten

___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] First draft of Requirements and Software Design for a Better Tor Performance Measurement Tool

2013-09-06 Thread Zack Weinberg
 An experiment making these more realistic measurements should use
 -something like Selenium/Firefox to control an actual browser to make
 +something like Selenium to control an actual Tor Browser to make
 requests.

FYI, I have written code that downloads the present Tor Browser alpha
and Python Selenium client and monkey-patches them to play nice
together; see https://github.com/zackw/tailwagger .  It's very
specialized for my requirements right now, but might still be of use
to you.  Look especially at what is done to TBB and python-selenium by
the patches under pkg/tor-browser-3.0a3 and
pkg/python-selenium-2.33.0,  and the TbbDriver class in
client/tbbselenium.py .
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev


Re: [tor-dev] First draft of Requirements and Software Design for a Better Tor Performance Measurement Tool

2013-09-06 Thread Lunar
Karsten Loesing:
 Feedback in the form of patches to the LaTeX sources is most preferred,
 though email replies are of course fine, too.

See attachments.

-- 
Lunar lu...@torproject.org
From 22fed7b7155481904cb92136f9d04777fad72fde Mon Sep 17 00:00:00 2001
From: Lunar lu...@torproject.org
Date: Fri, 6 Sep 2013 18:11:15 +0200
Subject: [PATCH 1/3] Use Selenium with the Tor Browser instead of plain
 Firefox
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If we want Torperf to gather realistic data, it makes more sense to use the
browser recommended by the Tor Project to access the web — the Tor Browser —
instead of Firefox.

As the Tor Browser is based on Firefox, driving other Firefox versions should
not be too complicated, but the primary target should be the Tor Browser.

This also will also give us a framework to test the performance of Tor Browser
(present and future) patches.
---
 2013/torperf2/torperf2.tex |8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/2013/torperf2/torperf2.tex b/2013/torperf2/torperf2.tex
index b3eb955..1c643c0 100644
--- a/2013/torperf2/torperf2.tex
+++ b/2013/torperf2/torperf2.tex
@@ -207,7 +207,7 @@ stem or another parsing library.
 
 \subsection{High priority experiments}
 
-\subsubsection{Alexa top-X websites using Selenium/Firefox}
+\subsubsection{Alexa top-X websites using Selenium and the Tor Browser}
 
 One major reason for rewriting Torperf is to make its results more
 realistic.%
@@ -216,10 +216,10 @@ It was suggested to track down Will Scott's torperf-like scripts, make
 them public if needed, and do a trial deployment somewhere.%
 \footnote{\url{https://trac.torproject.org/projects/tor/ticket/7516}}
 An experiment making these more realistic measurements should use
-something like Selenium/Firefox to control an actual browser to make
+something like Selenium to control an actual Tor Browser to make
 requests.
-As a variant, this experiment should be run with a Firefox that uses
-optimistic data.%
+As a variant, this experiment should be run with other Firefox versions, e.g.
+that one that uses optimistic data.%
 \footnote{\url{https://trac.torproject.org/projects/tor/ticket/3875}}
 
 \subsubsection{Static file downloads}
-- 
1.7.10.4

From 63f70cd36a7f5d14eb200c10f68ee16f07c38e90 Mon Sep 17 00:00:00 2001
From: Lunar lu...@torproject.org
Date: Fri, 6 Sep 2013 18:14:48 +0200
Subject: [PATCH 2/3] Using stream isolation features is probably the easiest
 way to create new circuits

---
 2013/torperf2/torperf2.tex |4 
 1 file changed, 4 insertions(+)

diff --git a/2013/torperf2/torperf2.tex b/2013/torperf2/torperf2.tex
index 1c643c0..6e8d2f5 100644
--- a/2013/torperf2/torperf2.tex
+++ b/2013/torperf2/torperf2.tex
@@ -239,6 +239,10 @@ value that is lower than the experiment period.
 An alternative may be to send the \verb+NEWNYM+ signal to the tor process
 after every stream.%
 \footnote{\url{https://trac.torproject.org/projects/tor/ticket/2766}}
+The easiest path might be to leverage on the stream isolation features
+introduced in tor 0.2.3%
+\footnote{\url{https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/171-separate-streams.txt#l93}}
+and use a different SOCKS username/password for each requests.
 
 The best way to extract these requirements is to read the source.%
 \footnote{\url{https://gitweb.torproject.org/torperf.git/tree}}
-- 
1.7.10.4

From dac23d7068803745a70fc5ed7c81522f6ecc5822 Mon Sep 17 00:00:00 2001
From: Lunar lu...@torproject.org
Date: Fri, 6 Sep 2013 18:20:42 +0200
Subject: [PATCH 3/3] Also do upload tests using web browsers to gather more
 data related to actual user experiences

---
 2013/torperf2/torperf2.tex |3 +++
 1 file changed, 3 insertions(+)

diff --git a/2013/torperf2/torperf2.tex b/2013/torperf2/torperf2.tex
index 6e8d2f5..e34706e 100644
--- a/2013/torperf2/torperf2.tex
+++ b/2013/torperf2/torperf2.tex
@@ -307,6 +307,9 @@ Similar to static file downloads, client and server timestamps can be
 matched based on the random data that is posted to the server, or a digest
 of that data.
 
+Ideally such upload tests should also be done using a full web browser
+drived by Selenium.
+
 \section{Software design}
 
 The previous sections outlined requirements to the Torperf rewrite and
-- 
1.7.10.4



signature.asc
Description: Digital signature
___
tor-dev mailing list
tor-dev@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev