aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2018-04-02 15:04:50 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2018-04-02 15:04:50 +0000
commitbe4133876a4afe6627332ce36bcf9650490ce25a (patch)
tree84ccbdaee9c8de2de7873a9675422e006a4d23aa
parent9edf2931c899082768aba8e1e6b8c63f232d6c2d (diff)
downloadports-be4133876a4afe6627332ce36bcf9650490ce25a.tar.gz
ports-be4133876a4afe6627332ce36bcf9650490ce25a.zip
Add benchmarks/uperf
Unified Performance Tool (or uperf for short) is a network performance tool that supports modelling and replay of various networking patterns. It represents a new kind of benchmarking tool (like filebench) where instead of running a fixed benchmark or workload, a description (or model) of the workload is provided and the tool generates the load according to the model. PR: 226649 Submitted by: 0mp@FreeBSD.org Requested by: gnn
Notes
Notes: svn path=/head/; revision=466231
-rw-r--r--benchmarks/Makefile1
-rw-r--r--benchmarks/uperf/Makefile45
-rw-r--r--benchmarks/uperf/distinfo3
-rw-r--r--benchmarks/uperf/pkg-descr24
-rw-r--r--benchmarks/uperf/pkg-plist61
5 files changed, 134 insertions, 0 deletions
diff --git a/benchmarks/Makefile b/benchmarks/Makefile
index d6e006c51321..f3764e8873a4 100644
--- a/benchmarks/Makefile
+++ b/benchmarks/Makefile
@@ -88,6 +88,7 @@
SUBDIR += typometer
SUBDIR += ubench
SUBDIR += unixbench
+ SUBDIR += uperf
SUBDIR += vegeta
SUBDIR += webbench
SUBDIR += wrk
diff --git a/benchmarks/uperf/Makefile b/benchmarks/uperf/Makefile
new file mode 100644
index 000000000000..c333072a1b4c
--- /dev/null
+++ b/benchmarks/uperf/Makefile
@@ -0,0 +1,45 @@
+# $FreeBSD$
+
+PORTNAME= uperf
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.0.6.20180221
+CATEGORIES= benchmarks
+
+MAINTAINER= 0mp@FreeBSD.org
+COMMENT= Network performance tool to model and replay of networking patterns
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+USES= ssl
+
+USE_GITHUB= yes
+GH_TAGNAME= 25ad9ff
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+=--datadir=${DATADIR}/workloads
+
+OPTIONS_DEFINE= DOCS
+
+PORTDOCS= AUTHORS \
+ README.md
+
+post-install:
+ ${MKDIR} ${STAGEDIR}${DATADIR}/tests
+ (cd ${WRKSRC}/tests && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}/tests \
+ "! -name Makefile.in ! -name Makefile.am ! -name Makefile")
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+.for doc in ${PORTDOCS}
+ ${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}
+.endfor
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/docs
+ (cd ${WRKSRC}/docs && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/docs "! -name CNAME")
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}/manual
+ (cd ${WRKSRC}/manual && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/manual "! -name Makefile")
+
+.include <bsd.port.mk>
diff --git a/benchmarks/uperf/distinfo b/benchmarks/uperf/distinfo
new file mode 100644
index 000000000000..204022ab3ac7
--- /dev/null
+++ b/benchmarks/uperf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1521153670
+SHA256 (uperf-uperf-v1.0.6.20180221-25ad9ff_GH0.tar.gz) = 4810a74f6e48483efd8d93016c35c50e01833f48799c1933940833629b7c79a8
+SIZE (uperf-uperf-v1.0.6.20180221-25ad9ff_GH0.tar.gz) = 234092
diff --git a/benchmarks/uperf/pkg-descr b/benchmarks/uperf/pkg-descr
new file mode 100644
index 000000000000..0a644acc1ec3
--- /dev/null
+++ b/benchmarks/uperf/pkg-descr
@@ -0,0 +1,24 @@
+Unified Performance Tool (or uperf for short) is a network
+performance tool that supports modelling and replay of various
+networking patterns. It represents a new kind of benchmarking tool
+(like filebench) where instead of running a fixed benchmark or
+workload, a description (or model) of the workload is provided and
+the tool generates the load according to the model. By distilling
+the benchmark or workload into a model, you can now do various
+things like change the scale of the workload, change different
+parameters, change protocols, etc and analyse the effect of these
+changes on your model.
+
+Some of the questions you could answer using uperf are:
+ * Bandwidth and latency (unidirectional and bi-directional) with different
+ protocols like TCP, UDP, SCTP, SSL
+ * Connection setup and teardown scalability for different protocols
+ * Effect of noise on ongoing network connections
+ * Does it matter if I use processes instead of threads to do network
+ communication?
+ * What is the L2 cache miss rate for connection setup?
+ * Is sendfilev(3EXT) (with one file) equivalent to sendfilev(3EXT)?
+ * Understand TCP, UDP, SCTP, SSL performance under a variety of conditions
+ * Test various TCP Congestion control algorithms
+
+WWW: http://uperf.org/
diff --git a/benchmarks/uperf/pkg-plist b/benchmarks/uperf/pkg-plist
new file mode 100644
index 000000000000..964999944cbd
--- /dev/null
+++ b/benchmarks/uperf/pkg-plist
@@ -0,0 +1,61 @@
+bin/uperf
+%%DATADIR%%/workloads/connect.xml
+%%DATADIR%%/workloads/iperf.xml
+%%DATADIR%%/workloads/ldap.xml
+%%DATADIR%%/workloads/netperf.xml
+%%DATADIR%%/workloads/oltpnet.xml
+%%DATADIR%%/workloads/oraclerac.xml
+%%DATADIR%%/workloads/sctp.xml
+%%DATADIR%%/workloads/specweb.xml
+%%DATADIR%%/workloads/ssl.xml
+%%DATADIR%%/workloads/telnet.xml
+%%DATADIR%%/workloads/two-hosts.xml
+%%DATADIR%%/tests/01simple_sctp.xml
+%%DATADIR%%/tests/01simple_ssl.xml
+%%DATADIR%%/tests/01simple_tcp.xml
+%%DATADIR%%/tests/01simple_udp.xml
+%%DATADIR%%/tests/02_2proto1group.xml
+%%DATADIR%%/tests/02two_groups.xml
+%%DATADIR%%/tests/3proto.xml
+%%DATADIR%%/tests/a.xml
+%%DATADIR%%/tests/accept-connect.xml
+%%DATADIR%%/tests/accept-sctp.xml
+%%DATADIR%%/tests/accept-tcp.xml
+%%DATADIR%%/tests/canfail.xml
+%%DATADIR%%/tests/disconnect_iter.xml
+%%DATADIR%%/tests/friendliness.xml
+%%DATADIR%%/tests/high_connection_count.xml
+%%DATADIR%%/tests/mix_thr_proc.xml
+%%DATADIR%%/tests/multi_proto_connect.xml
+%%DATADIR%%/tests/parse_err.xml
+%%DATADIR%%/tests/test-duration-process.xml
+%%DATADIR%%/tests/test-rate.xml
+%%DATADIR%%/tests/test-sendfile.xml
+%%DATADIR%%/tests/test-sendfilev-chunked.xml
+%%DATADIR%%/tests/test-sendfilev.xml
+%%DATADIR%%/tests/test-ssize-flowop-count-dur.xml
+%%DATADIR%%/tests/test-ssize-iperf.xml
+%%DATADIR%%/tests/test.rb
+%%DATADIR%%/tests/test.sh
+%%DATADIR%%/tests/test_4groups.xml
+%%DATADIR%%/tests/test_netperf.xml
+%%DATADIR%%/tests/test_rds.xml
+%%DATADIR%%/tests/test_send_recv.xml
+%%DATADIR%%/tests/test_udp.xml
+%%DATADIR%%/tests/throughput_sctp.xml
+%%DATADIR%%/tests/unknown_proto.xml
+%%PORTDOCS%%%%DOCSDIR%%/docs/index.html
+%%PORTDOCS%%%%DOCSDIR%%/docs/manual.css
+%%PORTDOCS%%%%DOCSDIR%%/docs/manual.html
+%%PORTDOCS%%%%DOCSDIR%%/docs/uperf.css
+%%PORTDOCS%%%%DOCSDIR%%/manual/bidirectional.xml
+%%PORTDOCS%%%%DOCSDIR%%/manual/design_notes.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/netperf.xml.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/rds.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/throughput.xml
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf-default-output.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf-help.txt
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf.css
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf.html
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf.xml
+%%PORTDOCS%%%%DOCSDIR%%/manual/uperf.xsl