{"id":3612,"date":"2015-04-20T17:27:55","date_gmt":"2015-04-20T08:27:55","guid":{"rendered":"http:\/\/blog.bitmeister.jp\/?p=3612"},"modified":"2016-01-19T16:04:06","modified_gmt":"2016-01-19T07:04:06","slug":"arm%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af%e3%83%81%e3%83%a3%e3%81%aeandroid%e5%90%91%e3%81%91%e3%81%abiperf3%e3%82%92%e3%83%93%e3%83%ab%e3%83%89%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/blog.bitmeister.jp\/?p=3612","title":{"rendered":"ARM\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306eAndroid\u5411\u3051\u306biperf3\u3092\u30d3\u30eb\u30c9\u3059\u308b"},"content":{"rendered":"<p>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u300ciperf\u300d\u306f\u6709\u540d\u306a\u30c4\u30fc\u30eb\u306a\u306e\u3067\u3059\u304c\u3001GooglePlay\u3067\u7121\u6599\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u308bAndroid\u5411\u3051\u306eiperf\u306f\u6b8b\u5ff5\u306a\u304c\u3089\u6700\u65b0\u306e\u30d0\u30fc\u30b8\u30e7\u30f33\u7cfb\u3067\u306f\u306a\u304f\u30d0\u30fc\u30b8\u30e7\u30f32\u7cfb\u3067\u3059\u3002\u73fe\u5728\u6700\u65b0\u7248\u3067\u3042\u308b\u30d0\u30fc\u30b8\u30e7\u30f33\u306f\u6709\u6599\u7248\u3057\u304b\u306a\u3044\u306e\u3067\u3001\u81ea\u529b\u3067\u30d3\u30eb\u30c9\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u306a\u304a\u3001\u4eca\u56de\u8a66\u3057\u305fiperf3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306f\u300c3.0.11\u300d\u306b\u306a\u308a\u307e\u3059\u3002\u65b0\u3057\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u5834\u5408\u306f\u624b\u9806\u304c\u7570\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\u306e\u3067\u3054\u6ce8\u610f\u4e0b\u3055\u3044\u3002<\/p>\n<p><!--more--><\/p>\n<h2>1.\u30d3\u30eb\u30c9\u74b0\u5883<\/h2>\n<ul>\n<li>Ubuntu 14.04.01 LTS Server(x86_64)<\/li>\n<li>Android NDK Revision 10d<\/li>\n<\/ul>\n<p>\u4eca\u56de\u306fUbuntu\u4e0a\u306b\u30af\u30ed\u30b9\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u74b0\u5883\u3092\u69cb\u7bc9\u3057\u307e\u3059\u3002<\/p>\n<p><a title=\"Download Ubuntu Server\" href=\"http:\/\/www.ubuntu.com\/download\/server\">Download Ubuntu Server<\/a><br \/>\n<a title=\"Android NDK\" href=\"https:\/\/developer.android.com\/tools\/sdk\/ndk\/\">Android NDK<\/a><\/p>\n<h2>2.\u30d3\u30eb\u30c9\u74b0\u5883\u69cb\u7bc9<\/h2>\n<h3>OS\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>\u4eca\u56de\u306fVirtualBOX\u4e0a\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3057\u305f\u3002iperf3\u3060\u3051\u306e\u30d3\u30eb\u30c9\u306a\u306e\u3067\u3001VM\u306e\u8a2d\u5b9a\u306f\u30e1\u30e2\u30ea512MB\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002\u307e\u305f\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u4e2d\u306b\u9078\u629e\u53ef\u80fd\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u6642\u3082SSH\u3057\u304b\u9078\u629e\u3057\u3066\u3044\u307e\u305b\u3093\u3002<\/p>\n<h3>NDK\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<p>NDK\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ pwd\r\n\/home\/osa\r\n$ wget http:\/\/dl.google.com\/android\/ndk\/android-ndk-r10d-linux-x86_64.bin\r\n$ chmod +x android-ndk-r10d-linux-x86_64.bin\r\n$ .\/android-ndk-r10d-linux-x86_64.bin\r\n$ .\/android-ndk-r10d\/build\/tools\/make-standalone-toolchain.sh --platform=android-19 --arch=arm --install-dir=.\/android-ndk\r\n$ ls -F android-ndk\r\narm-linux-androideabi\/  COPYING      include\/  lib64\/    share\/   sysroot\/\r\nbin\/                    COPYING.LIB  lib\/      libexec\/  SOURCES\r\n$ sudo apt-get install build-essential git\r\n<\/pre>\n<p>\u3053\u3053\u3067\u306f\u30e6\u30fc\u30b6\u306e\u30db\u30fc\u30e0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u4e0a\u306b\u5c55\u958b\u3057\u3066\u3044\u307e\u3059\u304c\u7279\u306b\u3069\u3053\u3067\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002\u306a\u304a\u3001\u4eca\u56de\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u306f\u3001Android 4.4\u306eARM\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u306a\u308b\u306e\u3067\u305d\u306e\u3088\u3046\u306a\u6307\u5b9a\u3067\u30c4\u30fc\u30eb\u30c1\u30a7\u30a4\u30f3\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n<h2>3.\u30d3\u30eb\u30c9<\/h2>\n<p>iPerf3\u306e\u30bd\u30fc\u30b9\u306fgithub\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><a title=\"iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool\" href=\"https:\/\/github.com\/esnet\/iperf\">iperf3: A TCP, UDP, and SCTP network bandwidth measurement tool<\/a><\/p>\n<p>\u306a\u304a\u3001\u4ee5\u4e0b\u306fiperf2\u3068\u3044\u3046\u53e4\u3044\u30d0\u30fc\u30b8\u30e7\u30f3\u306a\u306e\u3067\u6ce8\u610f\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\n<p><a title=\"Iperf - The TCP\/UDP Bandwidth Measurement Tool\" href=\"https:\/\/iperf.fr\/\">Iperf &#8211; The TCP\/UDP Bandwidth Measurement Tool<\/a><\/p>\n<h3>\u30ea\u30dd\u30b8\u30c8\u30ea\u53d6\u5f97<\/h3>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ pwd\r\n\/home\/osa\r\n$ git clone https:\/\/github.com\/esnet\/iperf\r\n<\/pre>\n<p>\u4efb\u610f\u306e\u5834\u6240\u306biperf3\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30af\u30ed\u30fc\u30f3\u3057\u307e\u3059\u3002<\/p>\n<h3>Makefile\u751f\u6210<\/h3>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ cd iperf\/\r\n$ export PATH=\/home\/osa\/android-ndk\/bin:$PATH\r\n$ .\/configure --host=arm-linux CC=arm-linux-androideabi-gcc CXX=arm-linux-androideabi-g++ CFLAGS=-static CXXFLAGS=-static\r\n<\/pre>\n<p>\u30af\u30ed\u30b9\u30b3\u30f3\u30d1\u30a4\u30eb\u7528\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066Makefile\u3092\u751f\u6210\u3057\u307e\u3059\u3002<\/p>\n<h3>\u30bd\u30fc\u30b9\u5909\u66f4<\/h3>\n<p>\u3053\u306e\u307e\u307e\u3060\u3068\u3001\u30b3\u30f3\u30d1\u30a4\u30eb\u304c\u901a\u3089\u306a\u304b\u3063\u305f\u308a\u3001\u5b9f\u6a5f\u3067\u306e\u52d5\u4f5c\u3067\u554f\u984c\u304c\u3067\u308b\u306e\u3067\u4e00\u90e8\u30bd\u30fc\u30b9\u3068Makefile\u3092\u4fee\u6b63\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ vi src\/net.c\r\n<\/pre>\n<p>\u30d8\u30c3\u30c0\u306e\u30d1\u30b9\u304c\u901a\u5e38\u306eLinux\u3068\u4e00\u90e8\u7570\u306a\u308b\u306e\u3067\u4fee\u6b63\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: diff; gutter: false; title: ; notranslate\" title=\"\">\r\n--- net.c       2015-04-20 14:34:34.610766731 +0900\r\n+++ net.c.org   2015-04-20 14:34:21.050766682 +0900\r\n@@ -37,7 +37,7 @@\r\n #include &lt;assert.h&gt;\r\n #include &lt;netdb.h&gt;\r\n #include &lt;string.h&gt;\r\n-#include &lt;fcntl.h&gt;\r\n+#include &lt;sys\/fcntl.h&gt;\r\n\r\n #ifdef HAVE_SENDFILE\r\n #ifdef linux\r\n<\/pre>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ vi src\/iperf_api.c\r\n<\/pre>\n<p>\u4e00\u6642\u30d5\u30a1\u30a4\u30eb\u4f5c\u6210\u5834\u6240\u304cLinux\u3068Android\u3067\u7570\u306a\u308b\u306e\u3067\u4fee\u6b63\u3057\u307e\u3059\u3002\u3053\u308c\u3092\u4fee\u6b63\u3057\u306a\u304f\u3066\u3082\u30b3\u30f3\u30d1\u30a4\u30eb\u306f\u901a\u308a\u307e\u3059\u304c\u5b9f\u6a5f\u3067\u52d5\u4f5c\u3057\u306a\u3044\u306e\u3067\u4fee\u6b63\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: diff; gutter: false; title: ; notranslate\" title=\"\">\r\n--- iperf_api.c     2015-04-20 14:39:40.682767820 +0900\r\n+++ iperf_api.c.org 2015-04-20 14:39:25.010767765 +0900\r\n@@ -2570,7 +2570,7 @@\r\n {\r\n     int i;\r\n     struct iperf_stream *sp;\r\n-    char template&#x5B;] = &quot;\/data\/local\/tmp\/iperf3.XXXXXX&quot;;\r\n+    char template&#x5B;] = &quot;\/tmp\/iperf3.XXXXXX&quot;;\r\n\r\n     h_errno = 0;\r\n<\/pre>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ vi src\/Makefile\r\n<\/pre>\n<p>gprof\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u304c\u6709\u52b9\u3060\u3068NDK\u3067\u306f\u30a8\u30e9\u30fc\u306b\u306a\u308b\u3088\u3046\u306a\u306e\u3067\u5916\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: diff; gutter: false; title: ; notranslate\" title=\"\">\r\n--- Makefile     2015-04-20 14:45:35.246769083 +0900\r\n+++ Makefile.org 2015-04-20 14:45:25.982769050 +0900\r\n@@ -596,9 +596,9 @@\r\n iperf3_profile_SOURCES = main.c \\\r\n                                                  $(libiperf_la_SOURCES)\r\n\r\n-iperf3_profile_CFLAGS = -g\r\n+iperf3_profile_CFLAGS = -pg -g\r\n iperf3_profile_LDADD = libiperf.la\r\n-iperf3_profile_LDFLAGS = -g\r\n+iperf3_profile_LDFLAGS = -pg -g\r\n\r\n # Specify the sources and various flags for the test cases\r\n t_timer_SOURCES = t_timer.c\r\n<\/pre>\n<h2>4.\u30d3\u30eb\u30c9<\/h2>\n<p>\u3088\u3046\u3084\u304f\u30d3\u30eb\u30c9\u5b9f\u884c\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ make\r\nMaking all in src\r\n(snip)\r\nMaking all in examples\r\nmake&#x5B;1]: Entering directory `\/home\/osa\/iperf\/examples'\r\narm-linux-androideabi-gcc -DHAVE_CONFIG_H -I. -I..\/src    -g -static -Wall -MT mic-mic.o -MD -MP -MF .deps\/mic-mic.Tpo -c -o mic-mic.o `test -f 'mic.c' || echo '.\/'`mic.c\r\nmic.c:7:22: fatal error: sysexits.h: No such file or directory\r\n #include &lt;sysexits.h&gt;\r\n                      ^\r\ncompilation terminated.\r\nmake&#x5B;1]: *** &#x5B;mic-mic.o] Error 1\r\nmake&#x5B;1]: Leaving directory `\/home\/osa\/iperf\/examples'\r\nmake: *** &#x5B;all-recursive] Error 1\r\n<\/pre>\n<p>iperf3\u306f\u3001\u5225\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u304b\u3089\u5229\u7528\u53ef\u80fd\u306a\u5f62\u3067\u8a2d\u8a08\u3055\u308c\u3066\u304a\u308a\u3001API\u3068\u3057\u3066\u5229\u7528\u3059\u308b\u30b5\u30f3\u30d7\u30eb\u306e\u30d3\u30eb\u30c9\u3067\u5931\u6557\u3057\u307e\u3059\u3002\u304c\u3001\u4ee5\u4e0b\u306e\u30d0\u30a4\u30ca\u30ea\u304c\u751f\u6210\u3055\u308c\u3066\u3044\u308c\u3070\u30d3\u30eb\u30c9\u306f\u6210\u529f\u3057\u3066\u3044\u308b\u306e\u3067\u7121\u8996\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ file src\/iperf3\r\nsrc\/iperf3: ELF 32-bit LSB  executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped\r\n<\/pre>\n<h2>5.\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h2>\n<h3>\u8ee2\u9001<\/h3>\n<p>\u3067\u304d\u3042\u304c\u3063\u305fiperf3\u3092\u5b9f\u6a5f\u306b\u8ee2\u9001\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ adb push iperf3 \/\/data\/local\/tmp\/.\r\n<\/pre>\n<h3>\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ adb shell\r\nshell@SO-02G:\/ $ chmod 755 \/data\/local\/tmp\/iperf3\r\nshell@SO-02G:\/ $ \r\nshell@SO-02G:\/ $ \/data\/local\/tmp\/iperf3 -h\r\n\/data\/local\/tmp\/iperf3 -h\r\nUsage: iperf &#x5B;-s|-c host] &#x5B;options]\r\n       iperf &#x5B;-h|--help] &#x5B;-v|--version]\r\n(snip)\r\n&#x5B;KMG] indicates options that support a K\/M\/G suffix for kilo-, mega-, or giga-\r\n\r\niperf3 homepage at: http:\/\/software.es.net\/iperf\/\r\nReport bugs to:     https:\/\/github.com\/esnet\/iperf\r\n<\/pre>\n<p>\u3068\u308a\u3042\u3048\u305a\/data\/local\/tmp\u306b\u914d\u7f6e\u3057\u3066\u3044\u307e\u3059\u304c\u3001root\u6a29\u9650\u306a\u3057\u3067\u3082\u5b9f\u884c\u3067\u304d\u308b\u5834\u6240\u3067\u3042\u308c\u3070\u3069\u3053\u3067\u3082\u554f\u984c\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n<h2>6.\u52d5\u4f5c\u78ba\u8a8d<\/h2>\n<p>\u3044\u3088\u3044\u3088\u52d5\u4f5c\u78ba\u8a8d\u3067\u3059\u3002\u6e2c\u5b9a\u306b\u306f\u5bfe\u5411\u5074\u306e\u30b5\u30fc\u30d0\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u4eca\u56de\u306fUbuntu\u4e0a\u3067Ubuntu\u7528\u306b\u30d3\u30eb\u30c9\u3057\u305fiperf3\u3092\u8d77\u52d5\u3057\u307e\u3059\u3002Ubuntu\u7528\u306b\u30d3\u30eb\u30c9\u3059\u308b\u5834\u5408\u306f\u3001\u30bd\u30fc\u30b9\u4fee\u6b63\u306f\u4e0d\u8981\u306a\u306e\u3067\u5225\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u540d\u3067\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u884c\u3044\u307e\u3057\u3087\u3046\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ git clone https:\/\/github.com\/esnet\/iperf\r\n$ cd iperf\/\r\n$ .\/configure\r\n$ make\r\n$ sudo make install\r\n$ sudo ldconfig\r\n<\/pre>\n<h3>\u30b5\u30fc\u30d0(192.168.1.xxx)<\/h3>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\n$ iperf3 -s\r\n-----------------------------------------------------------\r\nServer listening on 5201\r\n-----------------------------------------------------------\r\n<\/pre>\n<p>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u5074\u3092\u8d77\u52d5\u3059\u308b\u524d\u306b\u5b9f\u884c\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<h3>\u30af\u30e9\u30a4\u30a2\u30f3\u30c8(192.168.1.yy)<\/h3>\n<p>\u307e\u305a\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089\u30b5\u30fc\u30d0\u3078\u306e\u30a2\u30c3\u30d7\u30ea\u30f3\u30af\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\nshell@SO-02G:\/ $ \/data\/local\/tmp\/iperf3 -c 192.168.1.xxx\r\n\/data\/local\/tmp\/iperf3 -c 192.168.1.xxx\r\nConnecting to host 192.168.1.xxx, port 5201\r\n&#x5B;  4] local 192.168.1.yy port 38518 connected to 192.168.1.xxx port 5201\r\n&#x5B; ID] Interval           Transfer     Bandwidth\r\n&#x5B;  4]   0.00-1.00   sec  9.33 MBytes  78.3 Mbits\/sec\r\n&#x5B;  4]   1.00-2.00   sec  5.88 MBytes  49.3 Mbits\/sec\r\n&#x5B;  4]   2.00-3.00   sec  3.97 MBytes  33.3 Mbits\/sec\r\n&#x5B;  4]   3.00-4.00   sec  3.73 MBytes  31.3 Mbits\/sec\r\n&#x5B;  4]   4.00-5.00   sec  4.64 MBytes  38.9 Mbits\/sec\r\n&#x5B;  4]   5.00-6.00   sec  3.10 MBytes  26.0 Mbits\/sec\r\n&#x5B;  4]   6.00-7.00   sec  3.57 MBytes  30.0 Mbits\/sec\r\n&#x5B;  4]   7.00-8.00   sec  3.48 MBytes  29.2 Mbits\/sec\r\n&#x5B;  4]   8.00-9.00   sec  3.33 MBytes  28.0 Mbits\/sec\r\n&#x5B;  4]   9.00-10.02  sec  3.81 MBytes  31.4 Mbits\/sec\r\n- - - - - - - - - - - - - - - - - - - - - - - - -\r\n&#x5B; ID] Interval           Transfer     Bandwidth\r\n&#x5B;  4]   0.00-10.02  sec  44.8 MBytes  37.5 Mbits\/sec     sender\r\n&#x5B;  4]   0.00-10.02  sec  44.8 MBytes  37.5 Mbits\/sec     receiver\r\n\r\niperf Done.\r\n<\/pre>\n<p>\u7d9a\u3044\u3066\u306f\u30b5\u30fc\u30d0\u304b\u3089\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3078\u306e\u30c0\u30a6\u30f3\u30ea\u30f3\u30af\u3067\u3059\u3002\u5b9f\u306f\u3053\u308c\u304c\u3084\u308a\u305f\u304b\u3063\u305f\u306e\u3067iperf3\u3092\u308f\u3056\u308f\u3056\u30d3\u30eb\u30c9\u3057\u305f\u306e\u3067\u3059\u3002<\/p>\n<pre class=\"brush: bash; gutter: false; title: ; notranslate\" title=\"\">\r\nshell@SO-02G:\/ $ \/data\/local\/tmp\/iperf3 -c 192.168.1.xxx -R\r\n\/data\/local\/tmp\/iperf3 -c 192.168.1.xxx -R\r\nConnecting to host 192.168.1.xxx, port 5201\r\nReverse mode, remote host 192.168.1.xxx is sending\r\n&#x5B;  4] local 192.168.1.yy port 38520 connected to 192.168.1.xxx port 5201\r\n&#x5B; ID] Interval           Transfer     Bandwidth\r\n&#x5B;  4]   0.00-1.00   sec  6.33 MBytes  53.1 Mbits\/sec\r\n&#x5B;  4]   1.00-2.00   sec  8.07 MBytes  67.7 Mbits\/sec\r\n&#x5B;  4]   2.00-3.00   sec  7.47 MBytes  62.7 Mbits\/sec\r\n&#x5B;  4]   3.00-4.00   sec  7.80 MBytes  65.5 Mbits\/sec\r\n&#x5B;  4]   4.00-5.00   sec  8.01 MBytes  67.2 Mbits\/sec\r\n&#x5B;  4]   5.00-6.00   sec  7.77 MBytes  65.2 Mbits\/sec\r\n&#x5B;  4]   6.00-7.00   sec  7.63 MBytes  64.1 Mbits\/sec\r\n&#x5B;  4]   7.00-8.00   sec  7.82 MBytes  65.6 Mbits\/sec\r\n&#x5B;  4]   8.00-9.00   sec  7.36 MBytes  61.7 Mbits\/sec\r\n&#x5B;  4]   9.00-10.00  sec  7.59 MBytes  63.7 Mbits\/sec\r\n- - - - - - - - - - - - - - - - - - - - - - - - -\r\n&#x5B; ID] Interval           Transfer     Bandwidth       Retr\r\n&#x5B;  4]   0.00-10.00  sec  79.0 MBytes  66.3 Mbits\/sec   38    sender\r\n&#x5B;  4]   0.00-10.00  sec  76.6 MBytes  64.3 Mbits\/sec         receiver\r\n\r\niperf Done.\r\n<\/pre>\n<p>\u30a2\u30c3\u30d7\u30ea\u30f3\u30af\u3068\u30c0\u30a6\u30f3\u30ea\u30f3\u30af\u3067\u6e2c\u5b9a\u3057\u305f\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u304c\u7570\u306a\u308b\u306e\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002\u3042\u3068\u306f\u8ab0\u304b\u304cGUI\u3092\u4f5c\u3063\u3066\u304f\u308c\u305f\u3089Android\u3067\u3082\u5feb\u9069\u306biperf3\u304c\u4f7f\u3048\u307e\u3059\u306d\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306e\u30c4\u30fc\u30eb\u300ciperf\u300d\u306f\u6709\u540d\u306a\u30c4\u30fc\u30eb\u306a\u306e\u3067\u3059\u304c\u3001GooglePlay\u3067\u7121\u6599\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u308bAndroid\u5411\u3051\u306eiperf\u306f\u6b8b\u5ff5\u306a\u304c\u3089\u6700\u65b0\u306e\u30d0\u30fc\u30b8\u30e7\u30f33\u7cfb\u3067\u306f\u306a\u304f\u30d0\u30fc\u30b8\u30e7\u30f32\u7cfb\u3067\u3059\u3002\u73fe [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[93],"class_list":["post-3612","post","type-post","status-publish","format-standard","hentry","category-tech","tag-android"],"_links":{"self":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/3612","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3612"}],"version-history":[{"count":9,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/3612\/revisions"}],"predecessor-version":[{"id":3623,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=\/wp\/v2\/posts\/3612\/revisions\/3623"}],"wp:attachment":[{"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3612"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3612"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bitmeister.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3612"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}