変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

大画面スマホがあればPCは不要?

あり と云えばありだ。

PCが必要になる様なコトを誰も要求しなければ・・・の話。

画面は小さいけどPCでできることはスマホでできると思ってしまうかもしれない。
しかし、今のスマホは基本的に

  • マルチタスクな作業は出来ない。※いくつもアプリを動かし続けるにはメモリが少ないから。
  • コピペはテキスト限定。※画像やファイルのコピペはアプリの画面の中だけのアプリ独自仕様。

例えば、HDレコーダーに溜まった番組を外付けHDDにムーブしようとしたら1度に20番組の制限があったので、21個目の番組は、20番組の後(1時間半後)に再びHDDレコーダーの前で再操作しなければいけなかったけど、21個目の番組をムーブしようと誰かが思わなければ、何も支障は無いのと同じで、「そんなことは滅多に無いから問題なし」で済ませるなら、PCは不要だということだ。

PCでプログラムを自由に動かせるのは、

100個ぐらい一緒にムーブできるプログラムを作るためであり、
それは面倒なことを楽な方法に工夫して置き換えるものであり、

面倒なことをそのままやっけてしまうならPCは無用の長物なのだ。

それに・・・
記事ライターの様な仕事なら

両手がふさがるスマホより片手で操作できるガラゲーの方が便利なはずだが、

そう云う声は全く無いのは

そんなことを記事に書いていたら仕事が無くなってしまう

ので、「スマホがあればPCが要らない」なんて記事の信憑性は0である。
それに、
ボク自身がガラゲーよりスマホの方が良いと最初に思ったのは、あの程度のガラゲーの国内販売価格が10万円を突破した時であり、DOS/Vの様に、他の国でも使っているパーツをやりくりしたものの方がいいんじゃないかと思った時だが、今のスマホの販売価格はその頃と大差無いものになっている。
更に、今ではAppleがi-Phoneというガラゲーを高価格で販売しているし、今やAppleがホストコンピューターを売っていた頃のIBMそのものになっているので・・・
 
2015年は、そろそろ趣旨を色々変えなくてはいけない年になったのだ、と思っている。



AI予測と先入観

ゲームでもギミック満載のダンジョンに初めて行ったら、全滅するのはお約束ごと。

ジェームズ・ダイソン:わたしは常に失敗している。それ以外の道を知らないのだ。

トーマス エジソン:失敗ではない。うまく行かない方法を1万通り発見しただけだ。

つまり、手慣れた案内人の指示通りに振る舞い、一発でダンジョンをクリアすることはとても効率的だが、うまく行かない方法(全滅モード)を1万通りもの経験を積む機会を摘み取ってしまうのだから、まだ手慣れた案内人がいないダンジョンで、初めてお荷物(地雷)っぷりを披露することになる。多分難易度がとても高いダンジョンであろうから、地雷効果も絶大だろう。と云っても、交通事故をいっぱい引き起こすのは周囲にとっても迷惑な話ではある。
AIを使い、同じ路線を走る自動車の運転を予測したり、過去の事件の発生情報から今日の事件発生を予想したりする例がポツポツと出ている。
ところがこれは「他人がAI使いより反応が悪い」からであり、そのスキを狙って潜り抜けられるからこそ「順調に事が運ぶ」のであって、他人も同等のAI使いになり反応が良くなると、何重もの玉突き事故の元になり、途端にAI使いならではの交通事故が多発するだろう(すぐにAI使いは前を走行する自動車のうち何台がAI使いなのか予測しないければやっていけなくなるだろう)し、AIを使って予測を見越して場所や日時を変えて事件を起こすことも増えるだろう。
それはAI使いが新たな「先入観」として出現したことにより、人間の運転手ならうまく回避できない事故を回避できても、AI使いだからこそうまく回避できない事例を生み出すだけなのだ。
エジソンのGenius is one percent inspiration, 99 percent perspiration.
が、「天才は1%のひらめきと99%の汗」なのか「1%のひらめきがなければ99%の努力は無駄である」なのかという話も古くある「先入観」の話である。
正解は両方ないとうまくいかない。ひらめきと汗のどっちもがが重要で、足りない方を補わなければならない。
何か面白いものを「思いつき」、他の誰かがそれを「作り上げ」、他の誰かが「売りまわり」、その他大勢の誰かが「購入」するまで、一通り通過しないことには、マネタライズできないという単純な図式の一部であり、俗っぽい言い方をすれば・・・
手を伸ばしてもジャンプしても道具を使っても届かない高い場所に引っかかったものは、ボールを投げ付けて落とせばよい。
しかし的にボールを当てるには相当な練習が必要で、その上ボールの二重遭難のリスクも発生する。
こう云う場合は諦めて次の日にその場所に行くと一日中日の当たり場所に晒されてボールの中の空気が抜けて下に落ちていたりするものだ。
この話の中で何がひらめきで何が努力なのだろうか?明確には区別することはできない。
 
それが現実の出来事なのだ。



メモリ

NUC(DCCP847DYE)で使えるメモリはDDR3-1066。
Intel® Celeron® Processor 847 (2M Cache, 1.10 GHz)
今、使っているのは、CFDのD3N1333Q-4G

形状:DDR3 SDRAM (S.O.DIMM)

メモリ種/クロック: PC3-10600(DDR3-1333)

タイミング:11-11-11

ぐらいし情報はない。

多分電圧は1.5V。

店頭の価格も妙に高く、家に戻り、心もとないので増設するなら
CFD Panram DDR3-1333 ノート用メモリ 204pin SO-DIMM D3N1333PS
DDR3-1333 PC3-10600 CL9-9-9-24 204pin ブリスターパッケージ  1.5v
の2枚組の方がいいかなと思ったら
8GB×2枚の価格グラフが異常な値上がり(2倍以上)で、買う気が失せてしまった。
2012年12月:7,068円 ⇒ 2014年9月:16,056円
最初に16GBにしておけばよかったなぁ
そして新しいNUCの噂
もうちょっと待とうか。(笑
でもまずは、i5から出すようだ。
勿論KVMを使う予定なので、i7の方が良いけどそこは予算が無いので、Celeron待ちかな。
 
ps。とりあえず同じメモリを追加。
 



MariaDB 強制終了

データベース接続確立エラー

の文字をあちこちで見かけるけど・・・
ココも同じ。
/var/log/mariadb/mariadb.log に

Version: '5.5.40-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MariaDB Server

があるなら、今は要注意。
と思ってたら、またデータベース接続確立エラーになっていた。
ログを見ると・・・

Dec 25 08:24:22 mysqld_safe: /usr/bin/mysqld_safe: 182 行:  1730 強制終了            nohup /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock < /dev/null >> /var/log/mariadb/mariadb.log 2>&1
 Dec 25 08:25:03 mysqld_safe: /usr/bin/mysqld_safe: 182 行:  6357 強制終了            nohup /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock < /dev/null >> /var/log/mariadb/mariadb.log 2>&1 >> /var/log/mariadb/mariadb.log 2>&1

と2回落ちてサービスが止まったらしい。
データベースのログを見ると

21:06:21 [ERROR] mysqld: Table './***DB/wp_options' is marked as crashed and should be repaired
21:06:21 [Warning] Checking table:   './***DB/wp_options'
21:06:22 [ERROR] mysqld: Table './***DB/wp_commentmeta' is marked as crashed and should be repaired
21:06:22 [Warning] Checking table:   './***DB/wp_commentmeta'
21:06:23 [ERROR] mysqld: Table './***DB/wp_comments' is marked as crashed and should be repaired
21:06:23 [Warning] Checking table:   './***DB/wp_comments'

なので、phpMyAdminでテーブルを修復。
最近DBの応答時間が妙に長かったけど、良くなったのでこれが原因だったのかな?
しかし
# systemctl stop mariadb.service
# systemctl start mariadb.service
の後のログに

[Note] Plugin 'FEEDBACK' is disabled.
[Note] Server socket created on IP: '0.0.0.0'.
[Note] Event Scheduler: Loaded 0 events
[Note] /usr/libexec/mysqld: ready for connections.

が消えない。
# mysql_upgrade -uユーザ -pパスワード  も効果がない。

# chown R mysql:mysql /var/lib/mysql  もやってみた。
# rm /var/lib/mysql/ib_logfile*  もやってみた。
でも変わらない。

 



clamd メモリ・イータ

topコマンドでMを打つとメモリ使用量が多い順に表示する。
すると、トップは 14.1%(122MB) の clamd    だった。
なんでもrestart するとメモリを解放するらしいので
# systemctl restart clamd
とやったら・・・
トップは同じ clamd。
32.5%(281MB)!増量した!
もう一度やってみると
32.6%(282MB) 微増!
仕方がないので
# reboot
32.6%(282MB) 変わらず!
どうやら、restartしてメモリが減った!って情報はrestartした時に偶然にもスキャンデータが少なかっただけのようだ。
なので毎朝再起動させることにした
# crontab -e

30 6 * * * reboot

 



MRTG

まず

# yum install httpd
から始めよう
総ダウンロード容量: 3.0 M
インストール容量: 10 M
Is this ok [y/d/N]: y

となったり

# systemctl start httpd
# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'

と表示されるかもしれないし、

# firewall-cmd --list-services

の結果に http が載ってないかもしれない

# firewall-cmd --add-service=http --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-services
dhcpv6-client http smtp ssh

ブログのデータベース接続エラーがrebootで治ったのも
メモリ不足でDBが落ちてた気がするのでKVMのホストにいつものトコロを見ながらMRTGを入れてみる。
KVMのホストとターゲットのクライアントにsnmpパッケージを入れる

# yum -y install net-snmp
# yum -y install net-snmp-utils   ※追記

# vi /etc/snmp/snmpd.conf
ゴニュゴニョして起動。
# systemctl start snmpd
そして常駐化

# systemctl enable snmpd
 ln -s '/usr/lib/systemd/system/snmpd.service' '/etc/systemd/system/multi-user.target.wants/snmpd.service'

KVMのホストにMRTGパッケージを入れる

# yum -y install mrtg

ここで、/etc/httpd/conf.d/mrtg.conf にLAN接続でも観れるように追記した方がいいだろう。

<Location /mrtg>
Require local
Require ip 192.168.*.0/24
# Require ip 10.1.2.3
# Require host example.org
</Location>

では、MRTGの 本体の設定ファイルを作成しよう

# cfgmaker --ifref=descr --ifdesc=descr public@*.*.*.* > /etc/mrtg/mrtg.cfg ※*.*.*.*はKVMゲストのIPアドレス
--base: Get Device Info on public@*.*.*.*:
SNMP Error:
no response received
SNMPv1_Session (remote host: "*.*.*.*" [*.*.*.*].161)
                  community: "public"
                 request ID: 2017506137
                PDU bufsize: 8000 bytes
                    timeout: 2s
                    retries: 5
                    backoff: 1)
 at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 651.
SNMPWALK Problem for 1.3.6.1.2.1.1 on public@*.*.*.*::::::v4only
 at /usr/bin/cfgmaker line 951.
WARNING: Skipping public@*.*.*.*: as no info could be retrieved
Use of uninitialized value $comment_sysdescr in substitution (s///) at /usr/bin/cfgmaker line 379.
Use of uninitialized value $sysname in concatenation (.) or string at /usr/bin/cfgmaker line 412.
Use of uninitialized value $comment_sysdescr in concatenation (.) or string at /usr/bin/cfgmaker line 412.
Use of uninitialized value $syscontact in concatenation (.) or string at /usr/bin/cfgmaker line 412.
Use of uninitialized value $syslocation in concatenation (.) or string at /usr/bin/cfgmaker line 412.

だったのでKVMゲストのファイアーウォールにsnmpが使える様する。
# firewall-cmd –add-service=snmp

Error: INVALID_SERVICE: snmp
だった。
# firewall-cmd –get-services
で確認してみると

amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https

snmpは無かったのでポートで設定。

firewall-cmd --zone=public --add-port=161/udp --permanent
# systemctl restart firewalld
# cfgmaker --ifref=descr --ifdesc=descr public@192.168.*.* > /etc/mrtg/mrtg.cfg ※KVMホストのIPアドレス
--base: Get Device Info on public@*.*.*.*:
--base: Vendor Id: Unknown Vendor - 1.3.6.1.4.1.8072.3.2.10
--base: Populating confcache
--base: Get Interface Info
--base: Walking ifIndex
--snpd:   public@*.*.*.*: -> 1 -> ifIndex = 1
--snpd:   public@*.*.*.*: -> 2 -> ifIndex = 2
--snpd:   public@*.*.*.*: -> 3 -> ifIndex = 3
--snpd:   public@*.*.*.*: -> 4 -> ifIndex = 4
--snpd:   public@*.*.*.*: -> 5 -> ifIndex = 5
--snpd:   public@*.*.*.*: -> 6 -> ifIndex = 6
--snpd:   public@*.*.*.*: -> 7 -> ifIndex = 7
--base: Walking ifType
--snpd:   public@*.*.*.*: -> 1 -> ifType = 24
--snpd:   public@*.*.*.*: -> 2 -> ifType = 6
--snpd:   public@*.*.*.*: -> 3 -> ifType = 6
--snpd:   public@*.*.*.*: -> 4 -> ifType = 6
--snpd:   public@*.*.*.*: -> 5 -> ifType = 6
--snpd:   public@*.*.*.*: -> 6 -> ifType = 6
--snpd:   public@*.*.*.*: -> 7 -> ifType = 6
--base: Walking ifAdminStatus
--snpd:   public@*.*.*.*: -> 1 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 2 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 3 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 4 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 5 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 6 -> ifAdminStatus = 1
--snpd:   public@*.*.*.*: -> 7 -> ifAdminStatus = 1
--base: Walking ifOperStatus
--snpd:   public@*.*.*.*: -> 1 -> ifOperStatus = 1
--snpd:   public@*.*.*.*: -> 2 -> ifOperStatus = 1
--snpd:   public@*.*.*.*: -> 3 -> ifOperStatus = 2
--snpd:   public@*.*.*.*: -> 4 -> ifOperStatus = 1
--snpd:   public@*.*.*.*: -> 5 -> ifOperStatus = 2
--snpd:   public@*.*.*.*: -> 6 -> ifOperStatus = 1
--snpd:   public@*.*.*.*: -> 7 -> ifOperStatus = 1
--base: Walking ifMtu
--snpd:   public@*.*.*.*: -> 1 -> ifMtu = 65536
--snpd:   public@*.*.*.*: -> 2 -> ifMtu = 1500
--snpd:   public@*.*.*.*: -> 3 -> ifMtu = 1500
--snpd:   public@*.*.*.*: -> 4 -> ifMtu = 1500
--snpd:   public@*.*.*.*: -> 5 -> ifMtu = 1500
--snpd:   public@*.*.*.*: -> 6 -> ifMtu = 1500
--snpd:   public@*.*.*.*: -> 7 -> ifMtu = 1500
--base: Walking ifSpeed
--snpd:   public@*.*.*.*: -> 1 -> ifSpeed = 10000000
--snpd:   public@*.*.*.*: -> 2 -> ifSpeed = 1000000000
--snpd:   public@*.*.*.*: -> 3 -> ifSpeed = 0
--snpd:   public@*.*.*.*: -> 4 -> ifSpeed = 0
--snpd:   public@*.*.*.*: -> 5 -> ifSpeed = 0
--snpd:   public@*.*.*.*: -> 6 -> ifSpeed = 10000000
--snpd:   public@*.*.*.*: -> 7 -> ifSpeed = 10000000

後はこのMRTGの設定ファイルを先のページの通りにゴニョゴニョする。
システムがUTF8なので、EUC-JPでしか動けないMRTGは直接/etc/cron.dに配置できないので

#!/bin/bash
LOCK=/var/lock/mrtg/mrtg_l
CONFCACHE=/var/lib/mrtg/mrtg.ok
export LANG=ja_JP.eucJP
mrtg /etc/mrtg/mrtg.cfg --lock-file $LOCK --confcache-file $CONFCACHE

な起動スクリプト(mrtg.sh)を作り、/etc/cron.dから起動しなければいけないらしい。
そして、
# chmod  700  mrtg.sh
ps.
ブラウザがcharset=euc-jpの設定を無視しているダケな様なので・・・
※多分ドメインのトップページに合わせている。
mrtg.shに以下を追記し、htmlをutf-8に差し替える。

# HTML euc-jp ⇒ utf-8
WorkDir=/var/www/mrtg
for FNAME in ${WorkDir}/*.html
do
  if grep charset=euc-jp ${FNAME} > /dev/null 2>&1
  then
    sed -e "s/charset=euc-jp/charset=utf-8/g" ${FNAME} > ${WorkDir}/tmpfile
    nkf -w ${WorkDir}/tmpfile > ${FNAME}
  fi
done

温度を調べる場合は
# yum install lm_sensors
# sensors で
acpitz-virtual-0
Adapter: Virtual device
temp1:        +26.8°C  (crit = +90.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +43.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:       +44.0°C  (high = +105.0°C, crit = +105.0°C)
Core 2:       +46.0°C  (high = +105.0°C, crit = +105.0°C)
Core 3:       +46.0°C  (high = +105.0°C, crit = +105.0°C)
と出てくるので、
# snmpwalk -v 2c -c public 192.168.***.*** 1.3.6.1.4.1.2021.13.16
LM-SENSORS-MIB::lmTempSensorsIndex.1 = INTEGER: 1
LM-SENSORS-MIB::lmTempSensorsIndex.2 = INTEGER: 2
LM-SENSORS-MIB::lmTempSensorsIndex.3 = INTEGER: 3
LM-SENSORS-MIB::lmTempSensorsIndex.4 = INTEGER: 4
LM-SENSORS-MIB::lmTempSensorsIndex.5 = INTEGER: 5
LM-SENSORS-MIB::lmTempSensorsDevice.1 = STRING: temp1
LM-SENSORS-MIB::lmTempSensorsDevice.2 = STRING: Core 0
LM-SENSORS-MIB::lmTempSensorsDevice.3 = STRING: Core 1
LM-SENSORS-MIB::lmTempSensorsDevice.4 = STRING: Core 2
LM-SENSORS-MIB::lmTempSensorsDevice.5 = STRING: Core 3
LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 26800
LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 44000
LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 45000
LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 46000
LM-SENSORS-MIB::lmTempSensorsValue.5 = Gauge32: 46000
# OIDを調べる。
#  snmptranslate -On -IR LM-SENSORS-MIB::lmTempSensorsValue
.1.3.6.1.4.1.2021.13.16.2.1.3
# snmpwalk -v 2c -c public 192.168.***.*** .1.3.6.1.4.1.2021.13.16.2.1.3
LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 26800
LM-SENSORS-MIB::lmTempSensorsValue.2 = Gauge32: 44000
LM-SENSORS-MIB::lmTempSensorsValue.3 = Gauge32: 44000
LM-SENSORS-MIB::lmTempSensorsValue.4 = Gauge32: 47000
LM-SENSORS-MIB::lmTempSensorsValue.5 = Gauge32: 47000
snmpwalk -v 2c -c public 192.168.***.*** .1.3.6.1.4.1.2021.13.16.2.1.3.1
LM-SENSORS-MIB::lmTempSensorsValue.1 = Gauge32: 26800
/etc/mrtg/mrtg.cfgに追記

### temp1 ####
Target[temp1]: .1.3.6.1.4.1.2021.13.16.2.1.3.1&.1.3.6.1.4.1.2021.13.16.2.1.3.3:public@192.168.***.***
MaxBytes1[temp1]: 80000
MaxBytes2[temp1]: 80000
Options[temp1]: gauge, absolute, growright, noinfo
YLegend[temp1]: temp1
kilo[temp1]: 1024
Factor[temp1]: 0.001
kMG[temp1]: C,
LegendI[temp1]: temp1
LegendO[temp1]: Core2
Legend1[temp1]: temp1
Legend2[temp1]: Core2
Title[temp1]: 温度
PageTop[temp1]: <H1>温度</H1>

# ./mrtg.sh で動作確認
最後にinit.htmlを作成。
#  indexmaker –columns=1 \
–addhead=”<META HTTP-EQUIV=\”Content-Type\” CONTENT=\”text/html; charset=euc-jp\”>” \
/etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
全部出来上がったので公開。
# systemctl reload httpd
暫くして

WARNING: Could not match host:'public@192.168.***.***:' ref:'Descr' key:'vnet0'
ERROR: Target[vnet0][_IN_] ' $target->[1]{$mode} ' did not eval into defined data
ERROR: Target[vnet0][_OUT_] ' $target->[1]{$mode} ' did not eval into defined data
と大量にメールが飛んでいたので vnet0 の設定を削除。
syslogのレベルをinfoからnoticeに変えたせいかな?
ps.
MRTGの画面が時々不調。
よく見れば作成したファイルのオーナーがroot。
chown -R apache:apache /var/www/mrtg
を追記。


ダウンタイムの合計は20時間でした

******** さん、こんにちは,

Jetpack モニターは http://ssiscirine.perma.jp の監視を行っています。2014年12月22日 (月) 4:25 AMの時点で最後に確認した際に、サイトがダウンしていることを検知しました。

サイトの状態に心配な点がある場合はホスティング会社にご連絡ください。引き続き Jetpack は監視を続け、サイトが復帰した場合に合計のダウンタイムを含めたお知らせを送信します。

ありがとうございます。
Jetpack チーム

というメールに気が付き調べてみたら、

データベース接続エラー

明確な原因は判らなかったがrebootで回復した後に

あなたのサイト http://ssiscirine.perma.jp は復帰しています。

ダウンタイムの合計は20時間でしたが、2014年12月23日 (火) 12:53 AM時点でサイトは復旧しています。

もしまたダウンした場合には再度お知らせします。

ありがとうございます。
Jetpack チーム

不可解なのは
1.インストールしていないテーマでアクセスが来ていたこと。
テーマのパス名は
Slide、PhotoTouch、Wumblr、Agency、Shopo、fullscreen、knowmobile、Minshop、metro、basic、folo、などなど
これらにPOSTし
/archives//wp-content/themes/<テーマのパス名>/uploads/
とGETしようとしていたので、ブログのタイトルの画像ファイルのアップロードした後に書き換わったかどうか確認するテストプログラムのようにも見える。
あるいはWordPressの一部のテーマには何か仕掛けがあるのかもしれない。
貴方のブログにインストールしたテーマのフォルダに不用なuploadsフォルダがあったら・・・
ちょっと中身を確認した方がいいかもしれない。
2.5分おきにやってくるJetpack モニター
[22/Dec/2014:04:22:59 +0900] “HEAD / HTTP/1.1” 200 – “-” “jetmon/1.0 (Jetpack Site Uptime Monitor by WordPress.com)”
とモニターした直後に
[22/Dec/2014:04:28:21 +0900] “GET /archives//wp-content/themes/Wumblr/uploads/themi.pHp HTTP/1.1” 500  ・・・
と500エラー(つまりデータベース接続エラー)がでたこと。



確かにそうなんだけどね

今更な気もしたけど

Gメールは1人15GBの容量なんて確保してないらしいよ

を読んでみると、いつものペースでクラウドの記憶容量を増設していれば、仮に利用者全員が15GBぐらいの容量のメールを貯め込むのにもそれなりの時間がかかるので十分に間に合うというお話の様だった。
それはいいとして・・・

利用者に大盤振る舞いするほど、

実際に利用者全員が容量を使い切るまで結構な時間がかかるので

増設完了まで十分な時間が稼げる。

ということは意味深い。

MMORPGなら、HPが100,000ぐらいのタンクがいて、HPを100,000ぐらいノンビリと持続回復してくれるヒーラーがいれば、何も怖いものはないという感じかな。

なぜなら・・・

利用者が利用できる容量を1GBから1.1GBに増量などと小幅な増設を行うと、

実際に利用者全員が容量を使い切るまで時間はほんのわずかしかなく、

利用者にアナウンスする前に大急ぎで確実に増設しなくてはいけない

それでいて、利用者にはさっぱりメリットない。

MMORPGなら、HPが100ぐらいのタンクがいて、一度にHPを10ぐらいしか回復できないヒーラーがいても、出てくるのは汗ばかりという感じかな。

ということだからだ。
 
ただ、オンラインゲームでは
一気に利用者が集まってしまうと、そんな余裕なぞ微塵もなく、サーバーの記憶容量どころかパソコンからサーバーまでのISPの回線すら不足する始末。
アップデートの度にインできなくなるのは毎度のことなので、「課金者全員が同時にログインできるロビーなんぞ用意する訳が無い。」って酔っぱらったPが呟いてた言葉にも実感があったし、
仮に改善されたところで、サーバー内の街が大量のキャラで、ぎっしりと埋め尽くされ、不自由この上ないだけ、誰も得をしないのだから、あえて全員分を用意しないからこそ、みんな幸せになれるのだ。
それにインターネットはベストエコー(最前を尽す)なので、回線の通信速度が速いほど混雑するサーバーに接続できる可能性が高くなるガチガチなガチャそのものなのだ。
と思っていたら・・・
ちょっと変わった意見を見つけました。
この記事について「少なくともエンプラやってる立場で民生品のSATA HDD使わないし、仮に使うとしても3重バックアップを1筐体で行うわけがない。」という考えの人もいた。
よく判らないけど、記事の「実際には1つのデータを3台程度のハードディスクに重複して記録しているはずなので」の部分を
RAIDやHadoop(実用的な読み書き速度がでるなら)のことを匂わせているとは思わなかったらしい。
というか・・・「ペタバイト級の容量のHDDのバックアップ」ってどうやるんでしょうね?
8TBのSATA(Rev3.0)のHDDって物理転送速度 – 6Gb/s、実効転送速度 – 4.8Gb/s (600MB/s)しかないので、全容量を転送するのに、8(T)×1024(G)×1024(M)(Byte)/(600MB/s)=13981秒=233分=3.88時間もかかる。毎日バックアップに3.88時間も止まっているメールサーバーなんて嫌だなぁ。rsyncするのが妥当だろうけど、復旧には最低でも3.88時間かかるハズ。
 
全く想像が付きませんでした。
完全に想定外ってやつですね。




top