Celeron J6412搭載の日本初上陸?マザーボードを動かしてみた

PC電源ユニット
©いらすとや.

先日中国から届いたCeleron J6412を搭載したマザーボード ZO-J6412T-6C2L (ZO-EHLT-6C2L)。暫く別のことやってたので遅くなったけど取り敢えず組み立ててベンチマークを動かしてみた。

ZO-EHLT-6C2L
これ。

Celeron J6412搭載マザーボードを動かしてみた 1
「がとらぼ」の中の人はSSDを信用してない。特にSSDは即死があってデータを救出できないのがイヤ。なので、(サーバ用)ストレージは相変わらずHDDで、今回は評判が良くはないSeagateの何か。個人的には同じ安物同士ならSeagateよりWestern Digitalの方を信用してない。データがある日突然読めなくなったら怖いので信頼性のないSMRは選ばないというかSMRなんかを買うくらいなら信用してないけど速度の速いSSDを買う。割高でも容量が少なくなってもCMRは譲れない。

Celeron J6412搭載マザーボードを動かしてみた 2
マザーボードはDC 12Vのインが2種類。家に余っているACアダプタが転がってたのでそれを使おうかと思ったが、HDDへの給電でマザーボードについてるFDD用?ペリフェラル4ピンと標準のペリフェラル4ピンの変換ケーブルがなかったのでそれだとHDDに給電できない。M.2 SSDにしとけばラクだったのにと少し後悔。
そこで、HDDとマザーボードに給電できる普通のATX電源を使うことに。といっても今回2Uのサーバケースなので標準サイズのATX電源は入らない。2Uに向いているのはTFX電源。電源ユニットの箱のサイズが違うだけと思って良い。ATX電源からは数系統の電源ケーブルが生えている筈だが、「田」型の4線DC 12VをマザーボードのDC 12V Inに挿す。最近のATX電源には必ずSATA用電源コネクタがあるのでそれをHDDに接続する。マザーボードにはケースから生えてる電源スイッチ,リセットボタン,電源LED,HDD LEDの線を取り付ける。これは前回ピンアサインを書いた。最後にマザーボードとHDDを繋ぐSATAケーブルを取り付ける。前回は書いていないがメモリはDDR4-3200 SO-DIMMを取り付けた。ElkhartLakeはメモリ容量の最大は32GBだが、このマザーボードはメーカー説明では16GBまでということなので16GBにした。メモリスロットが1つしかないので16GBを1枚。ライバル製品には2枚挿しで32GBまでのモノもある。CPUがショボくてもメモリが多ければなんとかなると思っているので16GBは正直物足りない。

Celeron J6412搭載マザーボードを動かしてみた 3
ATX電源で普通のマザーボードに接続するメインの20ピンまたは24ピンだが、このマザーボードには20ピンまたは24ピンのソケットがない。先に接続した12Vだけしか要らないので余った状態。ただし、20ピン/24ピンは本来はマザーボードと接続した状態で電源の制御が行われるのだがマザーボードと接続してないので制御できない。このままだと電源をオンにできないことになる。そこでマザーボードのソケットに挿したときに抜け防止の留具がある側の左上から3番めと4番めを短絡させた(上の画像)。必ずこの2ピンというわけではない。左上から4番目は絶対。もう片方は左上から3番め,5番目,6番目,7番目,左下から3番め,5番目,7番目,24ピンなら右上から1番め(24番ピン)と候補がたくさん。大電流が流れるわけではないのでショートさせるジャンパ線は何かテキトーで可。これでATX電源にAC電源ケーブルを接続すればいつでも給電できる状態。なお、ATX電源のACケーブルソケット近くに電源スイッチがある場合はそのスイッチは効くのでそれを使ったオン/オフも可。マザーボードの電源制御はケースの電源スイッチでオン/オフできる。ケーススイッチから電源の連動制御はできないのでケーススイッチをオフにしても(マザボは電源オフになるけど)ATX電源(とマザボ以外に給電しているHDDなどの機器)は動作したまま。この点だけ注意。

Celeron J6412搭載マザーボードを動かしてみた 4
電源オンから10数秒(ちょっと遅め)かかるが無事にマザーボードは動いた。電源オン直後にキーボードのDELキーでAMI BIOS (UEFI)が表示される。気に入る程度にテキトーに変更。見た感じヘンなところは無かった。本当に普通な感じ。ASRockのマザボの初期版でよくあるヘンな挙動もない。

OSとしてFreeBSDをインストールした。

# dmesg
Copyright (c) 1992-2021 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)
VT(efifb): resolution 800x600
CPU: Intel(R) Celeron(R) J6412 @ 2.00GHz (1996.80-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x90661  Family=0x6  Model=0x96  Stepping=1
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x4ff8ebbf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,SDBG,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,RDRAND>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2394a2c3<FSGSBASE,TSCADJ,FDPEXC,SMEP,ERMS,NFPUSG,PQE,RDSEED,SMAP,CLFLUSHOPT,CLWB,PROCTRACE,SHA>
  Structured Extended Features2=0x18400124<UMIP,WAITPKG,GFNI,RDPID,MOVDIRI,MOVDIR64B>
  Structured Extended Features3=0xfc000400<MD_CLEAR,IBPB,STIBP,L1DFL,ARCH_CAP,CORE_CAP,SSBD>
  XSAVE Features=0xf<XSAVEOPT,XSAVEC,XINUSE,XSAVES>
  IA32_ARCH_CAPS=0x6b<RDCL_NO,IBRS_ALL,SKIP_L1DFL_VME,MDS_NO>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID,VID,PostIntr
  TSC: P-state invariant, performance statistics
real memory  = 17179869184 (16384 MB)
avail memory = 16434479104 (15673 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I >
WARNING: L1 data cache covers fewer APIC IDs than a core (0 < 1)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-119
Launching APs: 2 1 3
random: entropy device external interface
kbd1 at kbdmux0
efirtc0: <EFI Realtime Clock>
efirtc0: registered as a time-of-day clock, resolution 1.000000s
smbios0: <System Management BIOS> at iomem 0x78a3b000-0x78a3b01e
smbios0: Version: 3.3, BCD Revision: 3.3
aesni0: <AES-CBC,AES-CCM,AES-GCM,AES-ICM,AES-XTS,SHA1,SHA256>
acpi0: <ALASKA A M I >
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 19200000 Hz quality 950
Event timer "HPET" frequency 19200000 Hz quality 550
Event timer "HPET1" frequency 19200000 Hz quality 440
Event timer "HPET2" frequency 19200000 Hz quality 440
Event timer "HPET3" frequency 19200000 Hz quality 440
Event timer "HPET4" frequency 19200000 Hz quality 440
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1808-0x180b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x5000-0x503f mem 0x6000000000-0x6000ffffff,0x4000000000-0x400fffffff at device 2.0 on pci0
vgapci0: Boot video device
xhci0: <XHCI (generic) USB 3.0 controller> mem 0x6001100000-0x600110ffff at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0 on xhci0
usbus0: 5.0Gbps Super Speed USB v3.0
pci0: <memory, RAM> at device 20.2 (no driver attached)
pci0: <simple comms> at device 22.0 (no driver attached)
ahci0: <AHCI SATA controller> port 0x5090-0x5097,0x5080-0x5083,0x5060-0x507f mem 0x7fe00000-0x7fe01fff,0x7fe03000-0x7fe030ff,0x7fe02000-0x7fe027ff at device 23.0 on pci0
ahci0: AHCI v1.31 with 2 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x4000-0x40ff mem 0x7fd04000-0x7fd04fff,0x7fd00000-0x7fd03fff at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: turning off MSI enable bit.
re0: ASPM disabled
re0: Chip rev. 0x4c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8251/8153 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: e4:3a:6e:59:67:21
re0: netmap queues/slots: TX 1/256, RX 1/256
pcib2: <ACPI PCI-PCI bridge> at device 28.6 on pci0
pci2: <ACPI PCI bus> on pcib2
re1: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x3000-0x30ff mem 0x7fc04000-0x7fc04fff,0x7fc00000-0x7fc03fff at device 0.0 on pci2
re1: Using 1 MSI-X message
re1: turning off MSI enable bit.
re1: ASPM disabled
re1: Chip rev. 0x4c000000
re1: MAC rev. 0x00000000
miibus1: <MII bus> on re1
rgephy1: <RTL8251/8153 1000BASE-T media interface> PHY 1 on miibus1
rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re1: Using defaults for TSO: 65518/35/2048
re1: Ethernet address: e4:3a:6e:59:67:22
re1: netmap queues/slots: TX 1/256, RX 1/256
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
hdac0: <Intel (0x4b58) HDA Controller> mem 0x6001110000-0x6001113fff,0x6001000000-0x60010fffff at device 31.3 on pci0
pci0: <serial bus> at device 31.5 (no driver attached)
battery0: <ACPI Control Method Battery> on acpi0
acpi_button0: <Sleep Button> on acpi0
acpi_button1: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
ppc0: <Parallel port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
uart0: <16950 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
uart1: <16950 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
uart2: <16950 or compatible> port 0x3e8-0x3ef irq 5 on acpi0
driver bug: Unable to set devclass (class: ppc devname: (unknown))
uart3: <16950 or compatible> port 0x2e8-0x2ef irq 7 on acpi0
driver bug: Unable to set devclass (class: ppc devname: (unknown))
uart4: <16950 or compatible> port 0x220-0x227 irq 7 on acpi0
driver bug: Unable to set devclass (class: ppc devname: (unknown))
uart5: <16950 or compatible> port 0x2e0-0x2e7 irq 7 on acpi0
acpi_syscontainer0: <System Container> on acpi0
acpi_syscontainer1: <System Container> on acpi0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbdc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 14.
atrtc0: <AT realtime clock> at port 0x70 irq 8 on isa0
atrtc0: Warning: Couldn't map I/O.
atrtc0: registered as a time-of-day clock, resolution 1.000000s
Event timer "RTC" frequency 32768 Hz quality 0
atrtc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 14.
hwpstate_intel0: <Intel Speed Shift> on cpu0
hwpstate_intel1: <Intel Speed Shift> on cpu1
hwpstate_intel2: <Intel Speed Shift> on cpu2
hwpstate_intel3: <Intel Speed Shift> on cpu3
Timecounter "TSC" frequency 1996802683 Hz quality 1000
Timecounters tick every 1.000 msec
hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
hdaa0: hdaa_audio_as_parse: Duplicate pin 0 (26) in association 1! Disabling association.
hdaa0: hdaa_audio_as_parse: Duplicate pin 0 (33) in association 2! Disabling association.
hdaa0: hdaa_audio_as_parse: Pin 33 has wrong direction for association 2! Disabling association.
hdacc1: <Intel Elkhart Lake HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel Elkhart Lake Audio Function Group> at nid 1 on hdacc1
pcm0: <Intel Elkhart Lake (HDMI/DP 8ch)> at nid 4 on hdaa1
Trying to mount root from ufs:/dev/ada0p2 [rw]...
ugen0.1: <Intel XHCI root HUB> at usbus0
uhub0 on usbus0
uhub0: <Intel XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ada0 at ahcich1 bus 0 scbus1 target 0 lun 0
ada0: <ST1000VX005-2EZ102 CV11> ATA8-ACS SATA 3.x device
ada0: Serial Number W9C6CAZ3
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 953869MB (1953525168 512 byte sectors)
uhub0: 16 ports with 16 removable, self powered
Root mount waiting for: usbus0
ugen0.2: <vendor 0x1a40 USB 2.0 Hub> at usbus0
uhub1 on uhub0
uhub1: <vendor 0x1a40 USB 2.0 Hub, class 9/0, rev 2.00/1.11, addr 1> on usbus0
uhub1: 4 ports with 4 removable, self powered
acpi_wmi0: <ACPI-WMI mapping> on acpi0
acpi_wmi0: cannot find EC device
acpi_wmi1: <ACPI-WMI mapping> on acpi0
acpi_wmi1: cannot find EC device
acpi_wmi1: Embedded MOF found
ACPI: \134_SB.WFDE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)
acpi_wmi2: <ACPI-WMI mapping> on acpi0
acpi_wmi2: cannot find EC device
acpi_wmi2: Embedded MOF found
ACPI: \134_SB.WFTE.WQCC: 1 arguments were passed to a non-method ACPI object (Buffer) (20201113/nsarguments-361)
lo0: link state changed to UP
re0: link state changed to DOWN
re1: link state changed to DOWN
re0: link state changed to UP

エラーだらけということもなく普通に動いて拍子抜け。
ブログ的にはいろいろトラブルが発生してアタフタする方がウケが良いのになぁ。

UnixBenchを走らせてみた

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

   System: kikka.intaa.net: FreeBSD
   OS: FreeBSD -- 13.1-RELEASE -- FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC
   Machine: amd64 (GENERIC)
   Language: C.UTF-8 (charmap="UTF-8")
   CPU 0: Intel(R) Celeron(R) J6412 @ 2.00GHz (0.0 bogomips)
          amd64
   CPU 1: Intel(R) Celeron(R) J6412 @ 2.00GHz (0.0 bogomips)
          amd64
   CPU 2: Intel(R) Celeron(R) J6412 @ 2.00GHz (0.0 bogomips)
          amd64
   CPU 3: Intel(R) Celeron(R) J6412 @ 2.00GHz (0.0 bogomips)
          amd64
   8:02PM  up 8 mins, 2 users, load averages: 0.39, 0.22, 0.11;

------------------------------------------------------------------------
Benchmark Run: Sat Oct 08 2022 20:02:19 - 20:30:33
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       31876237.6 lps   (10.1 s, 7 samples)
Double-Precision Whetstone                     5467.3 MWIPS (9.3 s, 7 samples)
Execl Throughput                               3281.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        452820.5 KBps  (30.1 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          123995.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks         89614.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1634908.5 lps   (10.1 s, 7 samples)
Pipe-based Context Switching                 197346.9 lps   (10.0 s, 7 samples)
Process Creation                              12569.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   8122.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2352.8 lpm   (60.0 s, 2 samples)
System Call Overhead                        1292262.8 lps   (10.1 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   31876237.6   2731.5
Double-Precision Whetstone                       55.0       5467.3    994.1
Execl Throughput                                 43.0       3281.0    763.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     452820.5   1143.5
File Copy 256 bufsize 500 maxblocks            1655.0     123995.5    749.2
File Copy 4096 bufsize 8000 maxblocks          5800.0      89614.8    154.5
Pipe Throughput                               12440.0    1634908.5   1314.2
Pipe-based Context Switching                   4000.0     197346.9    493.4
Process Creation                                126.0      12569.7    997.6
Shell Scripts (1 concurrent)                     42.4       8122.1   1915.6
Shell Scripts (8 concurrent)                      6.0       2352.8   3921.4
System Call Overhead                          15000.0    1292262.8    861.5
                                                                   ========
System Benchmarks Index Score                                        1011.6

------------------------------------------------------------------------
Benchmark Run: Sat Oct 08 2022 20:30:33 - 20:58:39
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables      127685597.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    21890.1 MWIPS (9.3 s, 7 samples)
Execl Throughput                               9372.1 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        112598.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           75273.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        154841.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             6515525.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1062518.7 lps   (10.0 s, 7 samples)
Process Creation                              33745.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  19067.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2456.0 lpm   (60.0 s, 2 samples)
System Call Overhead                        4542271.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  127685597.9  10941.4
Double-Precision Whetstone                       55.0      21890.1   3980.0
Execl Throughput                                 43.0       9372.1   2179.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     112598.3    284.3
File Copy 256 bufsize 500 maxblocks            1655.0      75273.8    454.8
File Copy 4096 bufsize 8000 maxblocks          5800.0     154841.5    267.0
Pipe Throughput                               12440.0    6515525.5   5237.6
Pipe-based Context Switching                   4000.0    1062518.7   2656.3
Process Creation                                126.0      33745.3   2678.2
Shell Scripts (1 concurrent)                     42.4      19067.6   4497.1
Shell Scripts (8 concurrent)                      6.0       2456.0   4093.4
System Call Overhead                          15000.0    4542271.4   3028.2
                                                                   ========
System Benchmarks Index Score                                        2086.5

前半はシングル,後半は(4コアのCPUなので)4スレッド
ベンチマークといってもファイルコピーなど環境に左右される項目があってHDDを使ってることもあって遅い。
以前にPentium N3700のPCで計測したときは、System Benchmarks Index Scoreがシングルで570.2, 4パラレルで1496.5だった。今回Celeron J6412は、System Benchmarks Index Score シングルが1011.6でN3700のPCの1.77倍、4パラレルが2086.5でN3700のPCの1.39倍。スコア的にはあまり大きな伸びにはなっていない。
整数演算のDhrystoneは、シングルが31876237.6 lpsでN3700のPCの12634825.9 lpsの2.52倍。4パラレルが127685597.9 lpsでN3700のPCの47027951.1 lpsの2.72倍。 浮動小数点数演算処理のWhetstoneは、シングルが5467.3 MWIPSでN3700のPCの2041.6 MWIPSの2.68倍。4パラレルが21890.1 MWIPSでN3700のPCの8166.1 MWIPSの2.68倍。
CPUの計算速度は概ね2.5倍以上。

Passmarkの公表されている成績では、Celeron J6412 (全コア)の整数演算が12,248 MOps/Sec、浮動少数演算が7,861 MOps/Sec、Pentium N3700(全コア)の整数演算が6,563 MOps/Sec、浮動少数演算が1,496 MOps/Secなので、整数演算が1.86倍、浮動少数演算が5.25倍となっていた。 計算回数と処理回数は比べても意味ないのかもしれない。(よく知らない)

2016年に購入したPentium N3700搭載のASRock N3700-ITXより今回円安の中でもCeleron J6412搭載のZO-J6412T-6C2Lボード自体の価格は安い(今回送料が高かったので送料込みだとショップ購入のN3700-ITXの方が安い) 仮に価格が同じとしてもN3700より大幅に高性能化してることを実感できたので満足。

このサンプルボードはこの「がとらぼ」のウェブサーバをリプレースして様子見し、調子が良いようであれば他もこのボードでリプレースの予定・・
ところが、Alibabaを見てたら、そのZO-J6412T-6C2Lのボードの新しいバージョン(V1.1)が出てるような。何か問題あった?

ZO-EHLT-6C2L その5
画像は前回の記事の使い回しなので赤い矢印がマザーボードの型番に向けて描かれてるけど無視して。
購入した品は一番下の部分にVer:1.0と書かれてる。

製品の購入元: Shenzhen ZEROONE Technology Co., LTD

WordPressの特定カテゴリだけを別サイトに移転

引っ越し
©いらすとや.

WordPressでブログを作っていて、いつのまにか特定のカテゴリーが巨大化してブログの方向性がおかしくなることはある筈。
ワインのブログにちょこっと盆栽について書いていたつもりがいつのまにか盆栽の記事の方が多くなってるみたいな。ワインと盆栽では読者層が全く異なるので分けてしまった方が良い。
この「がとらぼ」でも中華スマホの紹介ページ(カテゴリ)を作っていたらいつのまにかスマホカテゴリが肥大した。で、このカテゴリの成長に合わせて「がとらぼ」の一部ではなく別のサイト(子サイト)のように見えるように作っていたが、それなら完全に別のサイトにしてしまった方が良いと思った。

この記事は、特定カテゴリのデータ引っ越しとリダイレクトについて。

特定カテゴリのデータの引っ越し

WordPressデータエクスポート
移転元サイトのWordPress管理パネルの「ツール」→「エクスポート」を開く。
「投稿」を選ぶ。
「カテゴリ」で引っ越しする特定のカテゴリを選ぶ。
「開始日時」と「終了日時」を必ず選択する。少なくとも2022年10月1日時点で最新のWordPress 6.0.2までは期間指定を行わないとエクスポートに失敗する。また、投稿数が多いとエクスポート或いはインポートで失敗しくじるかもしれないので期間を調整して1つのエクスポートファイルに含まれる記事数を数百以内程度にする。
必要に応じて「固定ページ」と「メディア」もそれぞれエクスポート。ただし、「固定ページ」と「メディア」はカテゴリのような仕分けはできないので移転先で不要な「固定ページ」と「メディア」を削除することになる。

WordPressデータインポート 1
移転先サイトのWordPress管理パネルの「ツール」→「インポート」を開く。
WordPress→WordPressの引っ越しなので「WordPress」のインポートになる。初めての場合は「今すぐインストール」をクリックする。クリックするだけで自動的にインストールされる。初めて以降は次へ。

WordPressデータインポート 2
「WordPress」の「今すぐインストール」が「インポーターの実行」に変わる(初めてではない場合は最初から「インポーターの実行」が表示される)
「インポーターの実行」をクリック。

WordPressデータインポート 3
「ファイルを選択」ボタンをクリックするとファイル選択画面が表示されるので移転元でエクスポートしたファイルを1つ選択する。
「ファイルをアップロードしてインポート」をクリック。

WordPressデータインポート 4
移転元と移転先で管理者やその他のユーザー名が変わることはよくあること。データをインポートするときに新しい投稿者を指定することができる。
添付ファイルのインポートのチェックを付けると記事に含まれる画像などインポート時に自動的に移転元サイトからダウンロードして登録してくれる。これがとても便利なのでチェックするのがオススメ。ただし、数十万/数百万単位であまりに多いようであればチェックしない方が良いかも。
「実行」をクリック。

インポートの手順で「投稿」(「固定ページ」「メディア」)で複数に分けてエクスポートしたファイルを1つずつ順番にインポートする。

このデータ引っ越し方法だと、移転元で付けられた投稿ID(番号)は移転先でも同じ投稿ID(番号)になる。このおかげで次のリダイレクトの設定がラク。

リダイレクト設定 カテゴリを識別できるスラッグの場合

スラッグ(URL)にカテゴリ名が入っているなら簡単。WordPressで処理の追加は不要。(WordPressでやりたければそれもアリ)

  • https://example.com/wine/hogehoge (ワインのカテゴリであることがURLで明らか)
  • https://example.com/bonsai/hogehoge (盆栽のカテゴリであることがURLで明らか)
  • Nginxリダイレクト設定例 (引っ越し元サイト側)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    server {
        listen       192.168.0.1:443 ssl http2;
        listen       [fde4:8dba:82e1::abcd/64]:443 ssl http2;
        server_name  example.com;
    
        #中略
    
        rewrite ^/bonsai(.*)$ http://example.jp/bonsai$1 permanent;
    
        #後略
    }
    
    リダイレクト設定は8行目。
    上の例だと、https://example.com/bonsai/article は https://example.jp/bonsai/article にリダイレクトされるようになる。

    引越し先ではカテゴリ名はスラッグに含まれないということであれば
    rewrite ^/bonsai(.*)$ http://example.jp$1 permanent;
    この例だと、https://example.com/bonsai/article は https://example.jp/article にリダイレクトされるようになる。
    もちろん、リダイレクト先のURLでそのページが表示されないと意味ない。

    ウェブサーバでのリダイレクト設定の場合は移転元サイトの「投稿」「固定ページ」(「メディア」)は削除しても問題ないのがメリット。リダイレクトは少なくとも1年ほどは継続する方が良いかと思います。

    リダイレクト カテゴリを識別できないスラッグの場合

    「がとらぼ」では投稿記事のURLは https://gato.intaa.net/archives/00000 のようにarchives/数字という形式のURL。これはURLを見てもその投稿が何のカテゴリに属しているかは判らない。このようなURLではウェブサーバでリダイレクトさせるというのは事実上無理。カテゴリ内の記事URLを全てリストアップして個別にリダイレクト設定を書くならそれでも可だけど普通はそんなことしない。

    WordPress /wp-content/themes/使用中テーマ/functions.php に追加 (引っ越し元サイト側)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    function category_redirect_to_newsite() {
    if ( !is_home() && !is_front_page() ) {
        $cat_slag = 'bonsai';    //移転するカテゴリのスラッグ (例: bonsai)
        $to_domain = 'https://example.com'; //移転先のドメイン
        $cur_uri = $_SERVER["REQUEST_URI"];;
        $new_url = $to_domain . $cur_uri;
        if ( in_category( $cat_slag ) ) {
            wp_redirect( $new_url, 301 );  //宛先がローカルならwp_safe_redirectを使う 
            exit;
        }
      }
    }
    add_action('template_redirect', 'category_redirect_to_newsite');
    

    「移転するカテゴリのスラッグ」というのはWordPressの管理パネルのメニューから「投稿」→「カテゴリ」で対象のカテゴリを選択して「スラッグ」欄に表示される文字列。(半角英数字とハイフンで構成される)

    WordPressでリダイレクト表示を行う場合、移転後も少なくとも1年ほど(リダイレクトを止めるまで)移転記事を消さずに置いておく必要がある。(元記事が無くなるとその記事のリダイレクトが行われなくなる)

    「特定カテゴリを新しいサイトなどに移すことで移転元サイトの専門性が高くなるので閲覧者の好感度は上がるだろうし長期で見ればSEO的にも良さげ。ただし、一部移転から暫くは移転先サイトは苦戦するかも。新規サイトであれば特に。そのあたりよく考えて迂闊なカテゴリ作成(拡張)はやめて最初から新しいサイトを作る方が良さそう。元が雑記サイト寄りだと難しいかもだけど。

    Up