備忘録:macosの静的ルートの追加

いつも忘れてしまうので、メモしておくことに。Linuxとは、少し違い永続的な設定方法は専用コマンドがあります。networksetup コマンドです。

・ネットワークデバイス名の一覧

$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Built-in Serial Port (1)
Ethernet
iPhone USB
Wi-Fi
Bluetooth PAN

・ネットワークデバイスの情報

$ networksetup -getinfo Ethernet
DHCP Configuration
IP address: 192.168.1.26
Subnet mask: 255.255.255.0
Router: 192.168.1.1
Client ID: 
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
Ethernet Address: 90:2b:34:d0:02:80

・静的経路の追加と削除

永続的に追加。この例では、124.41.83.243/32 あては、192.168.1.38 へ送ります。

$ sudo networksetup -setadditionalroutes Ethernet 124.41.83.243 255.255.255.255 192.168.1.38

削除。何もパラメータに設定しないと消えます。

$ sudo networksetup -setadditionalroutes Ethernet
There are no additional IPv4 routes on Ethernet.

再起動すると消えますが一時的に設定したい場合

sudo route -n add 124.41.83.243/32 192.168.1.38

削除は

sudo route -n delete 124.41.83.243/32

・確認

$ networksetup -getadditionalroutes Ethernet
124.41.83.243 255.255.255.255 192.168.1.38

または、

$ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           67        5     en0
124.41.83.243      192.168.1.38       UGHS            0        0     en0
::

Termuxのapache2+php+mariadbのチューニング前のwordpressの速度とか

さて、今回はメモ程度ですが スマホUMIDIGI F2に、termuxでapache2とphp7とmariadb10を入れた環境にWordPress代替えのClassicPressを入れて動作させてみました。いろいろ課題が見えて来たのでメモしておきます。まずは、どのくらいの速度で表示されるか、視覚的に見ると以下になります。約1.8秒です。

WebPageTest_-_Visual_Comparison_-_Aug_31__2020___jh_gpl_jp_

 

これは、後ほど出て来ますが https://www.webpagetest.org/ でのテスト結果です。ちょっと遅いですよね。まぁ、しかしスマホで動作していると思えば十分に速いかもしれません。

まだ設定は未調整ですがhttp接続(SSLじゃない80接続)でのベンチマークです。コマンドラインでのapache ab テストもやってみました。同時に100ユーザが、1ユーザーあたり10リクエストを発行した場合を想定しています。これは、一般的なhtmlアクセスに対するjsやcssや画像のアクセスかなと思います。まぁ、このブログはそんな人気じゃないので同時に10人くらいのアクセスで十分かもですがw

サーバ側の状態は、ClassicPressをデフォルトで入れた状態です。テーマは、ClassicPressのTwentySixteenです。画像は出ない状態で全部テキストです。htmlやcssやjsやfontなど全部で、278 KBです。

まず、ローカルのリモート(macos)から。

$ ab -n 1000 -c 100 http://192.168.1.38:8080/

Server Software:        Apache/2.4.46
Server Hostname:        192.168.1.38
Server Port:            8080

Document Path:          /
Document Length:        15825 bytes

Concurrency Level:      100
Time taken for tests:   78.390 seconds
Complete requests:      1000
Failed requests:        0
Total transferred:      16123000 bytes
HTML transferred:       15825000 bytes
Requests per second:    12.76 [#/sec] (mean)
Time per request:       7839.037 [ms] (mean)
Time per request:       78.390 [ms] (mean, across all concurrent requests)
Transfer rate:          200.86 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        1    4  15.5      1     410
Processing:   490 7663 5599.2   6405   30174
Waiting:      461 7317 5486.8   5962   30109
Total:        494 7667 5599.1   6407   30175

Percentage of the requests served within a certain time (ms)
  50%   6407
  66%   7733
  75%   9622
  80%  10952
  90%  16804
  95%  19520
  98%  24822
  99%  26571
 100%  30175 (longest request)

次は、GCPの東京リージョンからです。この経路は80←→8080にポート転送していますが、その差は感じない程度ですね。termux は、80ポートや443ポートでは運用できない制限がありますので、ルータで変換します。

$ ab -n 1000 -c 100 http://jh.gpl.jp/

Server Software: Apache/2.4.46
Server Hostname: jh.gpl.jp
Server Port: 80

Document Path: /
Document Length: 15742 bytes

Concurrency Level: 100
Time taken for tests: 78.813 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 16040000 bytes
HTML transferred: 15742000 bytes
Requests per second: 12.69 [#/sec] (mean)
Time per request: 7881.291 [ms] (mean)
Time per request: 78.813 [ms] (mean, across all concurrent requests)
Transfer rate: 198.75 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 21 190 525.8 51 3058
Processing: 707 7470 4143.1 7264 22358
Waiting: 605 7100 4070.2 6790 22218
Total: 804 7661 4221.0 7341 22409

Percentage of the requests served within a certain time (ms)
50% 7341
66% 8008
75% 8490
80% 9059
90% 14244
95% 16246
98% 20310
99% 21250
100% 22409 (longest request)

次はtermuxが動作しているローカルからです。

$ ab -n 1000 -c 100 http://192.168.1.38:8080/

Server Software: Apache/2.4.46
Server Hostname: 192.168.1.38
Server Port: 8080

Document Path: /
Document Length: 15825 bytes

Concurrency Level: 100
Time taken for tests: 77.274 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 16123000 bytes
HTML transferred: 15825000 bytes
Requests per second: 12.94 [#/sec] (mean)
Time per request: 7727.448 [ms] (mean)
Time per request: 77.274 [ms] (mean, across all concurrent requests)
Transfer rate: 203.76 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 1428 791.4 1531 3535
Processing: 562 6046 2311.5 5785 16840
Waiting: 515 4357 2249.9 3816 16085
Total: 649 7474 2189.4 7356 17166

Percentage of the requests served within a certain time (ms)
50% 7356
66% 8082
75% 8376
80% 8620
90% 9861
95% 11707
98% 12754
99% 13209
100% 17166 (longest request)

ちなみに、ローカルのリモート(macos)からしか試していませんが、スマホの接続をWiFi接続を5Ghzではなく、2.4Ghzで接続した場合は以下でした。これ有線だとどうなるんでしょうかね。type-c と有線イーサネットは1つありますが、繋げても接続できなかったのでまだテストしていません。

Server Software: Apache/2.4.46
Server Hostname: 192.168.1.38
Server Port: 8080

Document Path: /
Document Length: 15825 bytes

Concurrency Level: 100
Time taken for tests: 84.280 seconds
Complete requests: 1000
Failed requests: 0
Total transferred: 16123000 bytes
HTML transferred: 15825000 bytes
Requests per second: 11.87 [#/sec] (mean)
Time per request: 8427.984 [ms] (mean)
Time per request: 84.280 [ms] (mean, across all concurrent requests)
Transfer rate: 186.82 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 11 13.3 5 135
Processing: 491 7692 4699.6 7107 25513
Waiting: 443 7301 4611.2 6657 25511
Total: 493 7703 4700.0 7139 25514

Percentage of the requests served within a certain time (ms)
50% 7139
66% 8172
75% 9108
80% 10369
90% 14578
95% 18137
98% 20897
99% 22101
100% 25514 (longest request)

多少、劣るようですがそこまで気にしなくてもいいかもです。

それよりも、最初のhtmlのロードが長いです。以下は一番最初のビデオの状態を詳細にみた結果です。まだ圧縮転送やキャッシュは効かせていませんが、マシン性能が出る部分ですかね。ちょっと遅いです。NGINXだともう少し速くなるかもですので、また試してみたいと思います。

貼り付けた画像_2020_08_31_1_41

このWEBページのindex相当になるファイルはサイズ、15kb程度です。例えば、phpinfoのページを読んだ結果は以下です。このページは、82.0 KBありますが、0.4秒で終わっています。

WebPageTest_Test_Details_-_Tokyo___jh_gpl_jp_info_php_-_08_31_20_01_45_34

つまり、mariadbにアクセスしたりphpでのwordpressの処理時間がかかっているから遅くなっているということになりますね。

例えば、これは以前検討していたマシンでの結果ですが、htmlのロードは0.2秒以内に終わっています。UnixBenchが7000近く出るマシンでネットワークもIPv4→IPv6トンネルなので、比較するとあれですが、どこまで近づけるかですね。

WebPageTest_Test_Details_-_Tokyo___hoge_gpl_jp_-_03_16_20_02_24_59

まぁ、速度的なことより困っていることがあります。それは、ローカルのマシンから、termux上で動作しているwordpressにグローバルIPでアクセスできないことです。この場合、ルータの管理画面にアクセスしちゃうんで、どうしようかなと。こういうのなんていうんでしたっけか? とにかく、今の拠点のルータ(PR-400KI)は、内側ネットワークから外側のグローバルアドレスにアクセスしたものを、変換(最終的にサーバのプライベートアドレスに変換)してくれないのです。

プライベートアドレスだと、wordpressの設定で、グローバルのIPがマッピングされているドメイン名の設定になっているので(ルータで80と8080をポート転送してwordpressを運用)、リダイレクトされてアクセスできないんですよね。これはwordpress の仕様みたいなので回避不可能かなと。なんか言葉で書くとわかりにくいですね。今度、時間があるときに図解で問題点を明確にしたいです。

今の所、2案あります。1つは、マルチセッションを貼って違う光プロバイダーからアクセスさせる方法。もう一つは、リバースプロキシを経由させる方法です。

スマホで非ルートで動かすtermux は、IPテーブルとかルーティングとかいじれないので工夫が必要ですね。

ネットワークはあんまり得意じゃないんで、もっといい解決方法があるかもしれませんが。

衝撃価格7500円でゲットしたRedmi Note 9SにLinux入れてUnixBenchを計測

いやー、もう8月も終わりに近づてきましたね〜!
皆さんはどっか行きましたか? 自分はお盆休みもバイクをモリワキカラーに塗っていましたよ。どこにも行ってないので、そろそろプチ旅行したいです。バイクに乗りたいですね。

さて、今回はOCNモバイルONEの乗り換えキャンペーンで激安7500円で新品本体をゲットしましたRedmi Note 9S にUnixBechを走らせてみたいと思います。
AndroidスマホなのにLinux上で走るUnixBenchをどうやって動かすってことですが、これは、TermuxというAndroidターミナルエミュレーター+Linux環境構築アプリがあります。この環境で、UnixBenchをビルドしてスコアを計測してみました。antutuは28万くらいらしいのですが、UnixBenchはどのくらい出るでしょうか。ちなみに、UmidigiF2は、前回

シングルCPU・・・スコア406.2
8CPU・・・・・・スコア1312.3

のスコアが出ました。
まだシステムのアップデートする前なんで、少しkernelバージョンは変わるかもしれませんが、計測時のスマホの状態を貼っておきます。Redmi Note 9Sは、CPUがUmidigiF2よりも速いので、1500くらいのスコアが出るかもなーと思っていますが、さてどのくらいになるでしょうか?

貼り付けた画像_2020_08_28_22_39

まぁ、前置きが長かったのですが、やってることは大したことはないです。まずはGoogleStoreから、以下のアプリを入れておきます。これなんて読むんですかね? たーむゆーえっくす とか、たーむっくす とかかな?

Termux_-_Google_Play_のアプリ

openssh を入れてリモートから作業します。スマホ画面では、最低限以下を入れて起動しておきます。

pkg install openssh -y && sshd

WiFi アドレスを確認しておきます。

ip a | more
または、
ip a | grep inet | grep wlan
もっとズバリIPだけ取り出したい場合は、
ip -4 a | grep inet | grep wlan0 | grep -oP ‘[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+(?=\/)’

鍵作るなり、パスワード設定するなりしてリモートからログインします。今回は、passwd してパスワード認証でリモートログイン。

ssh 192.168.xxx.xxx -p 8022

デフォルトsshポートは、8022 です。では、UnixBenchのビルドに必要なツールを入れましょう。

pkg install vim wget clang make perl git pkg-config -y

あとは前回と同様、Makefileを少し修正して ./Run です。

git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench
cp -p Makefile Makefile.org
vi Makefile
※以下部分を削除してね。(-march=native)

$ diff -u Makefile.org Makefile
--- Makefile.org	2020-08-28 23:39:45.550203419 +0900
+++ Makefile	2020-08-28 23:40:56.800203392 +0900
@@ -95,7 +95,7 @@
     #   - Supported    : x86, x86_64, ARM, AARCH64, etc..
     #   - Not Supported: RISC-V, IBM Power, etc...
     ifneq ($(ARCH),$(filter $(ARCH),ppc64 ppc64le))
-        OPTON += -march=native -mtune=native
+        OPTON += -mtune=native
     else
         OPTON += -mcpu=native -mtune=native
     endif

./Run
::

金曜の夜は眠いです、、、寝そうになりましたがベンチマークが終わったので貼り付け。

CPU:Qualcomm Snapdragon 720G
Hardware : Qualcomm Technologies, Inc SM7125

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost: Android
   OS: Android -- 4.14.117-perf-g2d34faf -- #1 SMP PREEMPT Wed May 13 01:02:15 CST 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap=, collate=)
   23:41:17 up 12:11,  load average: 0.00, 0.00, 0.00; runlevel 

------------------------------------------------------------------------
Benchmark Run: Fri Aug 28 2020 23:41:17 - 00:09:22
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       32061907.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6143.9 MWIPS (10.0 s, 7 samples)
Execl Throughput                                267.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        630326.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          205587.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1214283.1 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1227952.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 105358.2 lps   (10.0 s, 7 samples)
Process Creation                                594.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1306.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    311.0 lpm   (60.1 s, 2 samples)
System Call Overhead                        1131049.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   32061907.1   2747.4
Double-Precision Whetstone                       55.0       6143.9   1117.1
Execl Throughput                                 43.0        267.0     62.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     630326.5   1591.7
File Copy 256 bufsize 500 maxblocks            1655.0     205587.3   1242.2
File Copy 4096 bufsize 8000 maxblocks          5800.0    1214283.1   2093.6
Pipe Throughput                               12440.0    1227952.4    987.1
Pipe-based Context Switching                   4000.0     105358.2    263.4
Process Creation                                126.0        594.4     47.2
Shell Scripts (1 concurrent)                     42.4       1306.7    308.2
Shell Scripts (8 concurrent)                      6.0        311.0    518.3
System Call Overhead                          15000.0    1131049.8    754.0
                                                                   ========
System Benchmarks Index Score                                         569.6

------------------------------------------------------------------------
Benchmark Run: Sat Aug 29 2020 00:09:22 - 00:37:59
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables      120620219.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    26336.2 MWIPS (9.5 s, 7 samples)
Execl Throughput                               1110.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        588338.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          181982.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1457866.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             4512922.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 160612.9 lps   (10.0 s, 7 samples)
Process Creation                                947.0 lps   (30.1 s, 2 samples)
Shell Scripts (1 concurrent)                   2990.6 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    399.8 lpm   (60.5 s, 2 samples)
System Call Overhead                        3946715.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  120620219.0  10335.9
Double-Precision Whetstone                       55.0      26336.2   4788.4
Execl Throughput                                 43.0       1110.7    258.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     588338.4   1485.7
File Copy 256 bufsize 500 maxblocks            1655.0     181982.1   1099.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    1457866.0   2513.6
Pipe Throughput                               12440.0    4512922.8   3627.8
Pipe-based Context Switching                   4000.0     160612.9    401.5
Process Creation                                126.0        947.0     75.2
Shell Scripts (1 concurrent)                     42.4       2990.6    705.3
Shell Scripts (8 concurrent)                      6.0        399.8    666.3
System Call Overhead                          15000.0    3946715.9   2631.1
                                                                   ========
System Benchmarks Index Score                                        1177.5

シングル性能では、UmidigiF2より上ですが、マルチCPUは下ですね。

シングルCPU・・・スコア569.6
8CPU・・・・・・スコア1177.5

特に、プロセスのフォーク処理(Process Creation)とか、シェル関連とか、パイプ処理(Pipe-based Context Switching)が半分くらい遅いですね。なんでこんなに遅いのでしょうか? システムバージョンアップして、また計測してみます。

貼り付けた画像_2020_08_29_0_57

再起動後の情報です。

貼り付けた画像_2020_08_29_1_06

Kernelの末尾の番号だけ微妙に変わっていますが、メジャー・マイナー・メンテナンスの番号は変わらずですね。4.14.117です。UmidigiF2は、4.14.141+で新しいですね。

結果が出たら貼り付けておきます。今日はもうねるー! UmidigiF2 のCPU、MediaTek Helio P70もなかなか良いのかもね。

追記。翌日ベンチマークが終わっていたので貼り付けておきます。誤差の範囲でほぼ同じ結果でした。今回もやはり、プロセスのフォーク処理(Process Creation)とか、シェル関連とか、パイプ処理(Pipe-based Context Switching)がUmidigiF2と比べて半分くらい遅い結果となりました。何かKernelかOS設定で制限があるのかもですね。ファイルコピーなんかは倍くらいRedmeNote9sが速いですが。

CPUやストレージが速ければ全部のスコアが上がるというわけはないということですね。

シングルCPU・・・スコア571.9
8CPU・・・・・・スコア1127.1

ちなみに、UnixBenchのパイプ処理に使うバイナリのヘッダ情報も乗せておきます。ちゃんと64bitでビルドされていますね。Termux、なかなかいいんじゃないでしょうか。

$ readelf -h ./spawn
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2’s complement, little endian
Version: 1 (current)
OS/ABI: UNIX – System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: AArch64
Version: 0x1
Entry point address: 0x760
Start of program headers: 64 (bytes into file)
Start of section headers: 7184 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 8
Size of section headers: 64 (bytes)
Number of section headers: 24
Section header string table index: 23

ということで、次回はUmidigiF2にWordPressが動く環境を作ってテストしてみたいですね。

   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost: Android
   OS: Android -- 4.14.117-perf-g638d6a0 -- #1 SMP PREEMPT Fri Jun 19 01:24:32 CST 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap=, collate=)
   01:18:25 up 17 min,  load average: 0.55, 1.10, 1.44; runlevel 

------------------------------------------------------------------------
Benchmark Run: Sat Aug 29 2020 01:18:25 - 01:46:30
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       32007008.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6140.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                                261.7 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        628988.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          207751.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1478525.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1164727.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  99925.0 lps   (10.0 s, 7 samples)
Process Creation                                587.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1284.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    312.1 lpm   (60.2 s, 2 samples)
System Call Overhead                        1127699.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   32007008.4   2742.7
Double-Precision Whetstone                       55.0       6140.3   1116.4
Execl Throughput                                 43.0        261.7     60.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     628988.7   1588.4
File Copy 256 bufsize 500 maxblocks            1655.0     207751.6   1255.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1478525.0   2549.2
Pipe Throughput                               12440.0    1164727.3    936.3
Pipe-based Context Switching                   4000.0      99925.0    249.8
Process Creation                                126.0        587.5     46.6
Shell Scripts (1 concurrent)                     42.4       1284.4    302.9
Shell Scripts (8 concurrent)                      6.0        312.1    520.1
System Call Overhead                          15000.0    1127699.3    751.8
                                                                   ========
System Benchmarks Index Score                                         571.9

------------------------------------------------------------------------
Benchmark Run: Sat Aug 29 2020 01:46:30 - 02:15:04
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables      122466899.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    26082.3 MWIPS (9.9 s, 7 samples)
Execl Throughput                               1100.0 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        509969.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          147009.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1308075.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                             4401030.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 163599.9 lps   (10.0 s, 7 samples)
Process Creation                               1059.8 lps   (30.1 s, 2 samples)
Shell Scripts (1 concurrent)                   2761.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    366.4 lpm   (60.8 s, 2 samples)
System Call Overhead                        3964160.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  122466899.1  10494.2
Double-Precision Whetstone                       55.0      26082.3   4742.2
Execl Throughput                                 43.0       1100.0    255.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     509969.0   1287.8
File Copy 256 bufsize 500 maxblocks            1655.0     147009.9    888.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1308075.6   2255.3
Pipe Throughput                               12440.0    4401030.7   3537.8
Pipe-based Context Switching                   4000.0     163599.9    409.0
Process Creation                                126.0       1059.8     84.1
Shell Scripts (1 concurrent)                     42.4       2761.2    651.2
Shell Scripts (8 concurrent)                      6.0        366.4    610.7
System Call Overhead                          15000.0    3964160.3   2642.8
                                                                   ========
System Benchmarks Index Score                                        1127.1

AndroidスマホにCentOSとかUbuntuとか入れて活用できるか検討してみる

このブログの自宅サーバ化計画があるんですが、その候補マシンとして先日(といってもだいぶ前ですが)ThinkCentre M75q-1 Tinyを用意してあります。このマシン、かなり速くて自宅サーバ用途だけに使うのは勿体ないなーなんて思っています。実際、フォートナイト専用マシンとしてめっちゃ遊んでいます。Linuxを入れてもUnixBenchがスコアが6500を超える激速いマシンなんですよね。そこで、ダメ元でと思い最近スマホも変えたことですし、UmidigiF2にCentOSとかFedoraとか入れて使えないかなーって思ったわけです。

貼り付けた画像_2020_08_24_1_04

普通、AndroidスマホにLinuxを入れるにはrootを取得してオリジナルなOSをインストールするんですが、カスタムROMを作らないといけないのでメンテナンスが面倒なのとarmプラットフォームなんでマイナーなオープンソースソフトウェアはバイナリがないので、コンパイルしないとだめなんです。まぁ、くそメンドくさいので候補から外していたんですが、最近の事情はもっと気軽に入れられるようでした。上の画像のアプリ、UserLAndとか、Termuxとか、AnLinuxとかがそれです。UserLAndは、それ単体でディストリビューションが組み込めます。

貼り付けた画像_2020_08_24_1_09

この環境(UserLAndでUbuntu)で、計測したUnixBenchが以下です。スマートフォンはUmidigiF2です。CPUの型番や認識しているハードウェアは以下となります。

CPU MediaTek Helio P70
Hardware : MT6771V/CT

========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)

System: localhost: GNU/Linux
OS: GNU/Linux — 4.14.141+ — #1 SMP PREEMPT Wed May 6 10:13:36 CST 2020
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap=”ANSI_X3.4-1968″, collate=”ANSI_X3.4-1968″)
; runlevel

————————————————————————
Benchmark Run: Sat Aug 22 2020 20:54:06 – 21:22:31
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 17608983.7 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2700.6 MWIPS (9.9 s, 7 samples)
Execl Throughput 277.4 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 244507.6 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 71657.5 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 676812.1 KBps (30.0 s, 2 samples)
Pipe Throughput 375078.4 lps (10.0 s, 7 samples)
Pipe-based Context Switching 73081.8 lps (10.0 s, 7 samples)
Process Creation 1843.0 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 973.9 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 237.1 lpm (60.2 s, 2 samples)
System Call Overhead 21729.5 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 17608983.7 1508.9
Double-Precision Whetstone 55.0 2700.6 491.0
Execl Throughput 43.0 277.4 64.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 244507.6 617.4
File Copy 256 bufsize 500 maxblocks 1655.0 71657.5 433.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 676812.1 1166.9
Pipe Throughput 12440.0 375078.4 301.5
Pipe-based Context Switching 4000.0 73081.8 182.7
Process Creation 126.0 1843.0 146.3
Shell Scripts (1 concurrent) 42.4 973.9 229.7
Shell Scripts (8 concurrent) 6.0 237.1 395.2
System Call Overhead 15000.0 21729.5 14.5
========
System Benchmarks Index Score 271.2

————————————————————————
Benchmark Run: Sat Aug 22 2020 21:22:31 – 21:51:31
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables 99917960.5 lps (10.0 s, 7 samples)
Double-Precision Whetstone 17134.8 MWIPS (9.5 s, 7 samples)
Execl Throughput 636.2 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 391896.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 109010.1 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1128491.8 KBps (30.0 s, 2 samples)
Pipe Throughput 1996740.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 274427.3 lps (10.0 s, 7 samples)
Process Creation 5289.1 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2014.1 lpm (60.3 s, 2 samples)
Shell Scripts (8 concurrent) 291.2 lpm (63.5 s, 2 samples)
System Call Overhead 27627.6 lps (10.1 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 99917960.5 8562.0
Double-Precision Whetstone 55.0 17134.8 3115.4
Execl Throughput 43.0 636.2 148.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 391896.0 989.6
File Copy 256 bufsize 500 maxblocks 1655.0 109010.1 658.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 1128491.8 1945.7
Pipe Throughput 12440.0 1996740.3 1605.1
Pipe-based Context Switching 4000.0 274427.3 686.1
Process Creation 126.0 5289.1 419.8
Shell Scripts (1 concurrent) 42.4 2014.1 475.0
Shell Scripts (8 concurrent) 6.0 291.2 485.3
System Call Overhead 15000.0 27627.6 18.4
========
System Benchmarks Index Score 680.3

やっぱりchrootしているので、ちょっとオーバーヘットがあるようですね。もっと速いはずなんですが、prootを使っているようなのでその影響でしょうか。prootっていうのは、FreeBSDのjailに似た感じだと思います。これは、ハイパーバイザや準仮想化マシンのようなセキュアなものとは仕組みが違います。

次、Termuxの場合は、以下のようになりました。動かしているスマホは先と同じUmidigiF2です。

pkg install vim -y
pkg install wget -y
pkg install clang -y
pkg install make -y
pkg install perl -y
pkg install git -y
pkg install pkg-config -y

git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench
cp -p Makefile Makefile.org
vi Makefile
※以下部分を削除してね。(-march=native)

$ diff Makefile Makefile.org
98c98
< OPTON += -mtune=native

> OPTON += -march=native -mtune=native

./Run
::

========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)

System: localhost: Android
OS: Android — 4.14.141+ — #1 SMP PREEMPT Wed May 6 10:13:36 CST 2020
Machine: aarch64 (unknown)
Language: en_US.utf8 (charmap=, collate=)
21:45:18 up 41 days, 12:17, load average: 26.55, 26.58, 26.57; runlevel

————————————————————————
Benchmark Run: Sun Aug 23 2020 21:45:18 – 22:13:35
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 17334020.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3658.8 MWIPS (9.9 s, 7 samples)
Execl Throughput 215.1 lps (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 323431.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 101368.1 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 845384.2 KBps (30.0 s, 2 samples)
Pipe Throughput 591377.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 89414.5 lps (10.0 s, 7 samples)
Process Creation 1326.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 861.2 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 381.1 lpm (60.1 s, 2 samples)
System Call Overhead 582221.0 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 17334020.9 1485.3
Double-Precision Whetstone 55.0 3658.8 665.2
Execl Throughput 43.0 215.1 50.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 323431.8 816.7
File Copy 256 bufsize 500 maxblocks 1655.0 101368.1 612.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 845384.2 1457.6
Pipe Throughput 12440.0 591377.9 475.4
Pipe-based Context Switching 4000.0 89414.5 223.5
Process Creation 126.0 1326.4 105.3
Shell Scripts (1 concurrent) 42.4 861.2 203.1
Shell Scripts (8 concurrent) 6.0 381.1 635.1
System Call Overhead 15000.0 582221.0 388.1
========
System Benchmarks Index Score 406.2

————————————————————————
Benchmark Run: Sun Aug 23 2020 22:13:35 – 22:42:10
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables 92727287.0 lps (10.0 s, 7 samples)
Double-Precision Whetstone 23155.4 MWIPS (10.0 s, 7 samples)
Execl Throughput 1153.0 lps (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 392313.3 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 105373.2 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1156407.9 KBps (30.0 s, 2 samples)
Pipe Throughput 3402929.3 lps (10.0 s, 7 samples)
Pipe-based Context Switching 316242.6 lps (10.0 s, 7 samples)
Process Creation 7783.9 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4043.3 lpm (60.1 s, 2 samples)
Shell Scripts (8 concurrent) 518.0 lpm (60.4 s, 2 samples)
System Call Overhead 3153958.3 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 92727287.0 7945.8
Double-Precision Whetstone 55.0 23155.4 4210.1
Execl Throughput 43.0 1153.0 268.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 392313.3 990.7
File Copy 256 bufsize 500 maxblocks 1655.0 105373.2 636.7
File Copy 4096 bufsize 8000 maxblocks 5800.0 1156407.9 1993.8
Pipe Throughput 12440.0 3402929.3 2735.5
Pipe-based Context Switching 4000.0 316242.6 790.6
Process Creation 126.0 7783.9 617.8
Shell Scripts (1 concurrent) 42.4 4043.3 953.6
Shell Scripts (8 concurrent) 6.0 518.0 863.3
System Call Overhead 15000.0 3153958.3 2102.6
========
System Benchmarks Index Score 1312.3

倍までは行きませんが、こっちは結構速いようです。しかし、以下に書かれているようにファイルシステム構成が通常のLinuxとは違い、またlibcがBionicのようです。

Differences from Linux
https://wiki.termux.com/wiki/Differences_from_Linux

BionicなLibcとは、AndroidのCライブラリのことです。AndroidはBSDのCライブラリを基にして独自開発されたものを使っています。Linuxの標準Cライブラリは一般的なglibc(GNU libc)です。TermuxのアプリのコンパイルはAndroid NDKを使ってビルドされているようで、このあたり、ちょっと独自にいろいろビルドしてみるときはハマりそうですね。
ちなみに、termuxの提供されているパッケージは以下にあります。

https://grimler.se/termux-packages-24/arm/
::
1058個が提供されているようです(この執筆時)

apacheやnginxやphpやmariadbなどありますので、wordpressを動かすことはできそうですね。imagemagickなんとかもあるようです。

次は、AnLinuxです。これは先に紹介したTermuxと連携して動作させるものです。Termuxは、prootを使えば独自のファイルシステムを作れます。そのスクリプトを作ってくれています。

貼り付けた画像_2020_08_24_1_54

Step1で、ディストロを選択し、Step2でそのスクリプトをwgetするコマンドをTermuxに貼り付けて動作させるようです。

貼り付けた画像_2020_08_24_1_57

このコピーしたコマンドは以下です。

pkg install wget openssl-tool proot tar -y && hash -r && wget https://raw.githubusercontent.com/EXALAB/AnLinux-Resources/master/Scripts/Installer/CentOS/centos.sh && bash centos.sh

どんなスクリプトが書かれているか、上記のcentos.shを見ると納得します。

貼り付けた画像_2020_08_24_0_29

こんな感じで、prootのCentOSに入れます。この環境で動作させたUnixBenchは以下となります。

yum -y install perl perl-Time-HiRes make gcc git
cd /usr/local/src/
git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench

Shell8のテストでこけるので、コマンドは以下で実行してあります。

./Run -i 1 -v

========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)

System: localhost: GNU/Linux
OS: GNU/Linux — 4.14.141+ — #1 SMP PREEMPT Wed May 6 10:13:36 CST 2020
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap=”ANSI_X3.4-1968″, collate=”ANSI_X3.4-1968″)
; runlevel

————————————————————————
Benchmark Run: Sun Aug 23 2020 16:34:32 – 16:41:18
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 18468392.0 lps (10.0 s, 1 samples)
Double-Precision Whetstone 3423.8 MWIPS (9.5 s, 1 samples)
Execl Throughput 415.5 lps (29.2 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks 249987.0 KBps (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks 72847.0 KBps (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks 694986.0 KBps (30.0 s, 1 samples)
Pipe Throughput 387272.6 lps (10.0 s, 1 samples)
Pipe-based Context Switching 64785.7 lps (10.0 s, 1 samples)
Process Creation 2060.3 lps (30.0 s, 1 samples)
Shell Scripts (1 concurrent) 425.8 lpm (60.2 s, 1 samples)
Shell Scripts (8 concurrent) 100.4 lpm (60.3 s, 1 samples)
System Call Overhead 19692.3 lps (10.1 s, 1 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 18468392.0 1582.6
Double-Precision Whetstone 55.0 3423.8 622.5
Execl Throughput 43.0 415.5 96.6
File Copy 1024 bufsize 2000 maxblocks 3960.0 249987.0 631.3
File Copy 256 bufsize 500 maxblocks 1655.0 72847.0 440.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 694986.0 1198.3
Pipe Throughput 12440.0 387272.6 311.3
Pipe-based Context Switching 4000.0 64785.7 162.0
Process Creation 126.0 2060.3 163.5
Shell Scripts (1 concurrent) 42.4 425.8 100.4
Shell Scripts (8 concurrent) 6.0 100.4 167.4
System Call Overhead 15000.0 19692.3 13.1
========
System Benchmarks Index Score 249.3

————————————————————————
Benchmark Run: Sun Aug 23 2020 16:41:18 – 16:48:52
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables 108060066.0 lps (10.1 s, 1 samples)
Double-Precision Whetstone 22455.1 MWIPS (9.1 s, 1 samples)
Execl Throughput 851.2 lps (29.7 s, 1 samples)
File Copy 1024 bufsize 2000 maxblocks 392189.0 KBps (30.0 s, 1 samples)
File Copy 256 bufsize 500 maxblocks 106747.0 KBps (30.0 s, 1 samples)
File Copy 4096 bufsize 8000 maxblocks 1134886.0 KBps (30.0 s, 1 samples)
Pipe Throughput 2149129.5 lps (10.1 s, 1 samples)
Pipe-based Context Switching 272235.0 lps (10.1 s, 1 samples)
Process Creation 5234.7 lps (30.2 s, 1 samples)
Shell Scripts (1 concurrent) 916.4 lpm (61.0 s, 1 samples)
Shell Scripts (8 concurrent) 165.0 lpm (69.8 s, 1 samples)
System Call Overhead 30266.2 lps (10.2 s, 1 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 108060066.0 9259.6
Double-Precision Whetstone 55.0 22455.1 4082.7
Execl Throughput 43.0 851.2 197.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 392189.0 990.4
File Copy 256 bufsize 500 maxblocks 1655.0 106747.0 645.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 1134886.0 1956.7
Pipe Throughput 12440.0 2149129.5 1727.6
Pipe-based Context Switching 4000.0 272235.0 680.6
Process Creation 126.0 5234.7 415.5
Shell Scripts (1 concurrent) 42.4 916.4 216.1
Shell Scripts (8 concurrent) 6.0 165.0 275.0
System Call Overhead 15000.0 30266.2 20.2
========
System Benchmarks Index Score 648.0

UserLAndの時と似たような数値ですね。prootするとこのあたりのスコアになるようです。

単純に、UnixBenchのスコアだけだとTermuxが良さそうですが、実際にアプリケーションを動作させてWordPressがどのくらいのレスポンスが出るのか確認しないとですね。

以下のサイトには、スマホをPoCとして活用するため簡単な検証がされています。

https://m.blog.naver.com/PostView.nhn?blogId=nettrail&logNo=221588044681&proxyReferer=https:%2F%2Fwww.google.com%2F

興味深いことに、Termux環境でprootした(AnLinuxで作ったDebian) apache abテストのほうが14秒(20秒に対して)で速かったということです。UnixBenchの値とは逆行する結果となっています。

Debianのarm環境が優れているからなのか、そのあたりは良くわかりませんが、この筆者はTermuxのネイティブ環境はサポートしているパッケージも少ないので、AnLinuxでproot したディストリ環境のほうが良いんじゃないの? って結論しています。PoC(Proof of Conceptの略で、「概念実証」)用途ではね。

一回、apache + php7 + mariadb の同じ環境を使ってWordPressを入れてベンチマークして見たいですね。このブログ運営くらいなら耐えられそうな気もしますがどうでしょうか。

 

なんと、antutuスコアが28万台のスマホRedmi Note 9S 6GB/128GB(インターステラーグレー)の端末を7500円でゲット!

いやー、暑い日が続いて外出るのは夕方が多くなりますよね!

さて、今回はOCNモバイルのキャンペーンに乗っかってみましたよ。なんと、antutuスコアが28万台のスマホRedmi Note 9S 6GB/128GB(インターステラーグレー)を7500円でゲットしましたのでちょっとご報告! ステマでもなんでもないので、ご安心を。一応、正確に記載しておくと以下のように費用はなります。

Redmi Note 9S 6GB/128GB・・・7,480円
初期費用・・・3,733円
LINEモバイルからのMNP転出・・・3,300円
--------------------
合計・・・14513円(税込)

格安スマホ・Wi-Fiルーター___OCN_モバイル_ONE_セット 端末セット価格比較___NTTコミュニケーションズ_個人のお客さま

画像左の機種は、他社からのMNPとオプション申し込みで8000円がOffになり、つまり約7500円で機種変更できます。わーい。5000円の違いなら、断然6GB/128GBです!まだ申し込めました。たぶん、すぐ売り切れになると思います。
幸い、今はLINEモバイルのソフトバンク回線契約で機種はアリエクで買ったUmidigiF2です。まだ1年も経っていませんがアプリ開発者なんで、Android 10端末が複数台欲しかったんですよね。それ以外も、スペックがかなり上なんですよね。また後ほど比較してみます。

さて、LineモバイルのMNP転出は速攻で番号が出てきます。今回の場合は3分後に発行されました。Lineモバイルにはなんの不満もなかったのですが、この機種キャンペーンが魅力だったんです。はい。

で、OCMモバイルの申し込みは上の画像から行けます。価格はこんな感じ。

スマホセットお申し込み___gooSimseller

 

安心モバイルパックってやつは、月額700円くらいなんですがこれは必要ないので後から解約です。初月は無料なんで9月末までに解約すればOKだと思います。申し込みにあたっては、プリペイドカード式のカードは使えないのでそれくらいですかね。本人確認の書類は、撮影の向きに注意です。例えば免許証を横で撮影すると以下のように注意が出て再アップロードを求められます。androidだと縦で撮影したものをアップロードです。

OCN_モバイル_ONE

あと、OCNモバイルはDoCoMo系のMVNOなんでLINEモバイルのソフトバンク回線と比べてどのくらい速度が変わるかは使ってみないと不明です。一応、以下サイト情報だとまぁさほど変わらないという感じなんでいいかなと思います。

OCN_モバイル_ONE___格安SIMの通信速度計測

LINEモバイル(SoftBank)___格安SIMの通信速度計測

このサイトの計測地点は、神戸市中央区で、機種はZenfone 3 Laserを使っているようです。神サイトですね!
LINEモバイルは昼と夕方からの落ち込みがかなりありますね。そういう意味では、OCNモバイルONEのがいいのかもしれません。まぁ、あんまりSIM通信は使わないのでLINEでもいいんですがね。このあたりはヘビーにSIM通信使うユーザーは検討必要かもしれませんね。

 

さて、機種の比較です。UmidigiF2と、Redmi Note 9Sを比較するのもなんだかという感じですが、以下のサイトがわかりやすいです。https://telektlist.com/ さんのサイトです。

Xiaomi_Redmi_Note_9S(Note_9_Pro)のスペックまとめ、対応バンド、価格___telektlist

UMIDIGI_F2のスペックまとめ、対応バンド、価格___telektlist

CPU性能やGPU性能がミドルレンジクラスでは上ですね。Redmi Note 9Sは、Antutu8 : 281000で、UmidigiF2は、このサイトではありませんがAntutu8 : 195000くらいです。ヘッドフォンジャックはどっちもあります。これ自分はすごく大事です。GPU性能は以下がわかりやすいかもしれません。

Redmi Note 9SはQualcomm Adreno 618 で、UmidigiF2は、ARM Mali-G72 MP3 です。

Qualcomm_Adreno_618_vs_ARM_Mali-G72_MP3

ゲームはPCでやるんで、スマホのGPU性能はまぁどっちでもいいんですが、かなり違うのが動画の撮影です。上を見ればキリがありませが、1080の動画が手ブレが効けば自分はOKです。UmidigiF2は手ブレ補正がないので、ちょっと撮りたい時に使い物にならない動画となってしまうのが欠点でした。このあたり、以下動画が参考になりました。

[youtube https://www.youtube.com/watch?v=hgu_M5DVUc0?start=221&w=560&h=315]

ということで、これからRedmi Note 9SとOCNモバイルONEを使っていこうと思います。そのうち、5Gが普及しだしたらまた考えたいなと思います。Umidigiは、2機種使いましたが、まぁまぁという感じですかね。約2万弱で買いましたが、今ならもっとコスパのいい機種がありますね。ほんと進化の速さに驚きますね。スマホの進化は2000年〜2010年のPCの変化に似ているところがあります。1、2万の落としてもいいスマホをころころと変える。これが今、一番合っているかなと思います。そういう意味でiPhoneは常に選択外になってしまうんですよね。まぁアプリ開発者なんで、必要なので持っていますが。GPUゲームをやらない人には、iPhoneは宝の持ち腐れかなと。ちなみに、家族間でもandroid派は自分だけです。

きっと5Gが普及するころにはもっとすごいのが出て来ることでしょう。1、2年後にまた買い換えると思います。

 

 

ダストクーラーをDIY修理。冷却面側の加工でダストボックス内部は約10℃で安定!

この2日くらい激アツですね! 夏〜って感じの日差しで部屋の中にいても暑い!
さて、今回は先日から続いているTOTOダストクーラーの修理で、冷却面側の加工を施すことにしました。

写真_-_Google_フォト

上の写真は、もともとのペルチェ素子が付いていたアルミブロックですが、4cm四方の汎用ペルチェ素子の接地面積が少ないので、この飛び出たアルミ部分を削り、銅を貼り付けることにします。

スクリーンショット_2020_08_11_21_33

銅板は、これまたJunkな iMac G5があるのでこの中から取り出します。マザーボードの裏側には3mm厚の銅板があります。

スクリーンショット_2020_08_11_21_36

まずは、これをヒートシンク大に切り取り、アルミブロックにねじ止めします。

IMG_20200808_205658_8

銅板なんで、ハンドツールで切ってみましたが、かなり切り取るのに時間がかかりました。やっぱり、金属加工やるならバンドソーが欲しいですね。

スクリーンショット_2020_08_11_21_40

アルミブロックの余分な部分は、グラインダーで削り取り、オイルストーンで平面出し。

スクリーンショット_2020_08_11_21_41

完全に平面出すのは疲れたので、このあたりで妥協です。平面が出せるベルトサンダーがほしいですね。タップを切って、銅板を固定します。

スクリーンショット_2020_08_11_21_42

銅板固定にさほどトルクは必要なにので、プラスティックのアンカーに皿ネジを固定する方法にしました。銅板2枚には、銅グリスを塗っておきました。コパスリップっていうグリスですが熱伝導用としてではなく、これは錆びやすいボルトを経年しても取りやすくするもので、焼きつきやすいプラグとか、マフラーのネジとかに使ったりするものです。ティッシュに含ませてグリース部分を落とし、なるべく固形状にして塗っておきました。普通のCPUグリスでもいいんですが、なんとなく銅なので良いかなと。

IMG_20200809_173132_5

で、ダストボックスの穴を開けて、銅のヒートパイプを中に貫通させておきました。クリアランスがなかったので、ケースは少し削ってあります。これで完全にペルチェ素子は全面が金属に接地します。

空白_Skitch_キャンバス

ヒートパイプを中に貫通させたのは、まぁ、多少は冷却速度が速くなるかもくらいですがあわよくば、このあたりが凍結しないかなと思って加工してみました。

スクリーンショット_2020_08_11_21_54

隙間部分には、シリコンシーラントを充填し保冷。CPUグリスで、ペルチェ素子を2つ重ねてつけます。黒いのは最初からあったスポンジ材です。

ペルチェ素子は、つける前に温度を測定しておきました。個体差があるようで、5枚のうち一番冷えるものを選別しておきました。

IMG_20200809_172727_3

外気温、31度くらいで2段のペルチェ素子表面温度は、−8度で安定しました。(銅ヒートシンク、空冷)

IMG_20200811_021135_8

背面のケースは熱がこもるので、取っ払いむき出し状態です。2、3時間くらい経過すると室温27度くらいで、ダストボックス内部は約10℃で安定していました。

もともとの純正ユニットでどのくらい冷えるのかは不明ですが、冷蔵庫と同じ温度ならまぁOKでしょう。水もいい感じで冷えていました。

冷却側をシーリングして、保冷し、銅ヒートパイプを中まで貫通させましたが、さほど効果はなかったようです。前回、ざっくり仮付した状態でも11℃くらいでした。アルミブロックに接触させず、銅を結露する状態で中まで貫通させたほうが中は冷えたのかもしれません。または、水冷にしてラジエターで発熱側をもっと冷やすとかすれば、もう少し下がるのかもしれません。やりたいことはいろいろあるんですが、今回は実用温度まで達したのでこれで終了にします。夏場ですが、冬とかどのくらいまで下がるんでしょうかね。気が向いたらレポートしてみます。

これで、いつ壊れても汎用の1枚200円のペルチェ素子で修理できますのでこれからずっと使えそうです。どのくらい壊れずに使えるか楽しみですね。