kpdyer / fteproxy

programmable proxy for censorship circumvention
https://fteproxy.org/
Apache License 2.0
149 stars 21 forks source link

Identify performance enhancements #100

Closed kpdyer closed 10 years ago

kpdyer commented 10 years ago

We should do an analysis to identify opportunities to improve performance and reduce CPU load.

kpdyer commented 10 years ago

Combined with the above improvements to (un)ranking, I've cleanup up our systemtests script, which gives us the following:

Testing formats in /home/kpdyer/sandbox/fteproxy/fte/defs/20131224.json
 + SUCCESS, format_name="manual-http"
    - client-server regex: "^GET\ \/([a-zA-Z0-9\.\/]*) HTTP/1\.1\r\n\r\n$"
    - server-client regex: "^HTTP/1\.1\ 200 OK\r\nContent-Type:\ ([a-zA-Z0-9]+)\r\n\r\n\C*$"
    - test duration: 5.44 seconds
    - goodput: 23.55Mbps
 + SUCCESS, format_name="dummy"
    - client-server regex: "^\C+$"
    - server-client regex: "^\C+$"
    - test duration: 2.08 seconds
    - goodput: 61.44Mbps
 + SUCCESS, format_name="manual-smb"
    - client-server regex: "^\x00\x00\x00\x7c\xFF\x53\x4d\x42[\x25\x72]\x00\x00\x00\x00\C{115}$"
    - server-client regex: "^\x00\x00\x00\x7c\xFF\x53\x4d\x42[\x25\x72]\x00\x00\x00\x00\C{115}$"
    - test duration: 2.23 seconds
    - goodput: 57.46Mbps
 + SUCCESS, format_name="manual-ssh"
    - client-server regex: "^SSH\-2\.0\C*$"
    - server-client regex: "^SSH\-2\.0\C*$"
    - test duration: 1.87 seconds
    - goodput: 68.43Mbps
****** ALL TESTS COMPLETE, SUCCESS!!

So, in the worst case we are getting 23.55Mbps, hopefully this should be good enough for most use cases!