1万人の読者を作るプロジェクト開始

ゴールデンウィーク初日ですね。午後は雨がふってきましたが午前に読書をしていました。

自分のブログに対する付き合い方をまじまじと考えてみた結果、なんと無謀にも1万人の読者を作ってみる目標を立てました。

そして、毎月その数の実績を公開していくことにしました。これにより、どのような工夫や意識の持ち方が読者増につながるのかをみなさんと一緒に体験するのが目的です。

定期的に読んでいただければ、アクセス数の推移と記事内容の変化がわかり、あなたのブログのアクセス像につながるかもしれません。ViewUP というカテゴリにこの関連を書きます。

 

そんな事をはじめようと思ったきっかけは以下の本です。

ブログについて、ゴールデンウィーク期間中にあれこれ考えてみようと思い、この本を読みました。アマゾンの Kindle Unlimited(定額料金で読みたい放題対象) で読める本です。自分がそのときに感じた本の感想なども、数年後に見返るすと結構楽しい(恥ずかしかったり)と思うので書いてみることにします。

感想としては、「そこまでして書くのかぁ」というのが正直なところです。

しかし、とても、勉強にはなります。この本は、小手先の SEO とかではなく、自然と検索エンジンから流入して読者を増やす方法について書かれた正統派の書籍です。何事も、一定以上の労力をかけないと成果は見えませんね。

 

以下のような所に注意してブログを書いていこうと思いました。

・読者の利益がわかるタイトルと出だしにする

・読者の背景を想像して書く

・タイトルは重要で、読者が得られる利益が想像できるものにする

・結論を先に書く

そのほかもいろいろありますが、「読者が得られる利益」という考え方は今までまったく持っていませんでした。

 

では、読者が増えるとどうなるでしょうか?自分の場合は、読者を増やそうと思って書いてきたわけではないので、ちょっと想像してみます。

・アクセス数が増える

・コメントが増える(かも)

・より伝えやすい文章内容を作ろうとするため、文章力があがる(かも)

・何かを作ろうとするモチベーションがあがる

・結果、生活にハリが出る

最後は大切だと思っています。

 

さて、このブログですが主に工作やDIYなど自作して楽しもうという趣旨の内容が多いのですが、こんなマニアックな自分のブログにも以下のようなアクセスがあります。

Stats_‹_junkhack_—_WordPress_com

これは月ごとのビジターのアクセス数の推移ですが、1年前は1500人くらいだったのが今はなんと、2500人くらいの読者が居るようです。1000人って、昔の6クラスほどある小学校の1年から6年までを集めた人数です。物好きな人もいるものですね。ありがたい事です。

 

で、目標をとりあえず作ってみます。

たとえば、そうですね、月間1万人くらいの読者を当面の目標にしようと思います。毎月、月末か月初にこの報告をすることにして、どうなるかを報告していこうかなと。このグラフのペースでいくとあと8年ほどかかる計算です。たぶん、どこかでカーブが上がるはずだと思いますが、小手先のテクニックではない方法であげたいと思っています。

 

そもそも、なんで自分がブログを書いているのか? に尽きます。

まぁなんとなく、ライフワークの一環というのが正直な感想で、ブログを書かないと寂しいし、何か作ったり感じたりしたことを書くことで生活にハリが出るのが好きでやっています。この本読んでから、ぼんやり考えていたのですが、たぶん、これがブログを書く正直な原動力です。特に読者を増やそうとか、おこずかいを稼ごうとか、そういう観点はまったくありませんでした。

 

何事も目標を持ってやると、新しい発見がありますので、このブログもなんとなく書く事が5年以上、経過していますのでそろそろステップアップする考え方を持ってやってみることにします。

次の報告は、5月の月末です。さてどうなることやら。

1万人の読者・・・企画倒れか

昨年の4月に1万人の読者を作るプロジェクトを開始したそうそう、翌月には更新していないという体たらく状態でした。

とりあえず、半年遅れですが、その後の統計情報を載せておきます。

 

統計情報_‹_junkhack_—_WordPress_com

5月くらいには3000人くらいになっているんですがそこから横ばいです。昨年12月には2300まで落ち込んでしまいました。そりゃ記事更新していないのですから仕方ありません。むしろ半年良く持ちこたえたというものでしょう。飽きずに訪問してくれたそこのあなた!ありがとうございます。今後がんばりますので、また遊びにきてください。

とりあえず、半年遅れでプロジェクトがスタートしたという気持ちで今後がんばっていきたいです。あと7000人の読者に恵まれますようマニアックな良い記事を書いていきたいと思います。

独自ドメインで WordPress を動作させる為、エンジニアが選んだ選択

はい、JunkHack です。1月も200時間越えてお仕事しています。はぁ。あんまり残業好きじゃないんですがね。

 

今回の要約は以下のようになっています。

・独自ドメインでブログ(WordPress)を運営するため、レンサバを検討

・ぐーぐる様が、仮想マシンのリソースを¥32,542分無料でくれることがわかった

・じゃ、そこでCentOS7 を Google のプラットフォームで作ってみる

・東京リージョンで、SSD10GB の n1-standard-1(vCPU x 1、メモリ 3.75 GB)を作った

・約4時間で28円で1日150円~180円、1ヶ月5000円ちょいくらいのようです。

 

さて、今回は「1万人の読者」を作る企画シリーズの続きです。

現在はこのブログ、WordPress.com のブログサービスで運営しているのですが、いつかはレンタルサーバかどっかで自前のドメインを取得して、広告なんかもちょこっと付けて、おこづかい稼ぎながらライフワーク的にブログ書きたいなと、たぶんブログ書いている読者なら一度は夢みた事があるかと思います。自分もそうなんですが、アフリエイトとかアクセス数とか、まぁどうでもええやんってなってしまいがち。

 

まぁ、でもですね。せっかくブログでマニアックな記事を書くのなら世のため、人のため、そしてなにより自分のために有意義にしないとだめだよなということで、本格的にブログを運営してみようかなと思っていました。

 

しか~し、現実はレンタルサーバや自前サーバ作る面倒だし、お金かかるしなと躊躇していました。レンサバは、たとえばエックスサーバーやロリポップなどといった共有型のサーバをレンタルすること。これは安いものだと月額500円くらいから。月、1000円も出せば運営できますが、契約時にやっぱり5000円から1万円ぐらいは必要なんですよね。まぁ、そのくらい出してもいいですがレンタルサーバってやっぱり、システムエンジニア的にはあまり好きじゃないんです。やっぱり OS から掌握しないと気がすまないわけでして。

 

そうなると、AWS などのクラウド上に仮想サーバを作るタイプになってくるわけですが、そうなるとさらに面倒だしお金もかかる。まぁ、でもお仕事でも使うわけだから、勉強がてら触っておくのはいいよねーと思いながら、数年さわらず。以前、マイクロソフトが提供しているアズール(Microsoft Azure)ってのの開発アカウントを持っていたのですが、今一料金的になっとく行かず、本格運用までは行きませんでした。

 

で、ひさしぶりに google のクラウドプラットフォームの GCP(Google Cloud Platform)ってのを見たら、なかなかいい誘い文句がでているじゃありませんか。

Google_Cloud_Platform

JunkHack は、お値段に敏感なんです。無料という言葉に弱いんです。これはもうだまされてもいいから使うしかないなと。何が無料なのかは、わかりませんが、なにやら、以下のようです。

GCP_の無料階層_-_無料の長期トライアル、いつまでも無料_ _ _Google_Cloud_Platform

FAQを参照してみます。なにやらごにょごにょと書いてありますが、肝心なのは以下。

無料トライアルを利用できる期間を教えてください。
無料トライアルは、12 か月が経過したか、300 ドル分の利用があったときに終了します。クレジット残額と試用期間終了までの残りの日数は Google Cloud Platform Console の上部に表示されます。

ほうほう、3万円分は使えるのか。

無料トライアルで料金が発生することはありますか?
いいえ、トライアルで料金が発生することはありません。トライアルが終了したアカウントは一時停止となり、有料アカウントへアップグレードすることで同じアカウントを従量課金で使うことができます。登録後、Google から 0~1 ドルの取引が発生する場合があります。これは、Google の請求システムとクレジット カードやデビットカードの発行会社との承認リクエストが保留中であることを示します。承認は、カード発行会社によって現地通貨に換算される場合があり、これらの取引は、保留中の取引として明細書に最大 1 か月間表示されます。この取引は承認手続きによるもので、実際には請求されません。ご質問は、承認状況について取引先の銀行までお問い合せください。

ほほう、有料アカウントに移行しないかぎりタダとあります。

無料トライアルが終わったら、どうなりますか?
無料トライアルの期間が終了すると、試用中に作成したリソースは停止されますが、30 日以内に有料アカウントにアップグレードすれば復元できます。

また、その 30 日以内に Google 課金サポートに連絡すると、Google Cloud Platform のサービス(Google Compute Engine 以外)で保存されているデータをエクスポートできます。30 日が経過した場合は、アップグレードしてもデータやリソースを利用できなくなります。

リソースには、期限切れ後、30日以内であれば復元可能とな。ふむふむ。

ま、とにかく使ってみましょう。SSD のn1-standard-1(vCPU x 1、メモリ 3.75 GB)ブートディスクはとりあえず10GB です。CentOS7 のインスタンスを起動しました。

Compute_Engine_-_JunkHackup

公開鍵認証で、リモートから SSH アクセスして UnixBench を動作させてみました。便利だなーと感じたのは、CentOS7 のインスタンス作った時点で、自分のアカウント名のユーザが作られていて、sudo 権限も付与されています。自分の場合は、無料版のころから使っている、Google Apps で独自ドメインをくっ付けていてその @前のユーザ名で作られていました。最高に便利ですね、これは。

 

で、この CentOS7 は最小限でインストールされているインスタンスですので、以下の手順で UnixBench を動作。

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

_ssh_—_root_junkhack___apl_byte-unixbench_UnixBench_—_ssh_take_35_200_27_163_—_142×50

まぁ、1CPU だしこんなもんですかね。WordPress を動作させるにはちょうどいいかもです。SSD にしちゃファイルコピーが遅いようなきもしますが。また、後ほどインスタンスのスペックを変えて試してみようと思います。

 

とりあえず、IPを設定して DNS と関連づけします。コントロールパネルの印象は、なかなか直感的なインターフェイスで使いやすいですね。マニュアルなしで、IP回りのインスタンス設定ができました。

 

しばらく動かし続けてみて、どんなものか検討してみることにします。4時間後の値段は以下のようです。

今月の請求額_-_JunkHackup

1日150円~180円という感じでしょうか。これだと一ヶ月で5000円を超えてしまうので、もう少ししょぼいリソースを選ばないと1年経たずに、無料枠の300$ を使ってしまいそうです。

 

次回は、リソースをもうすこししょぼく、small (共有CPU でメモリは1.7 GB)と、micro というメモリが0.6GB だとどうなるか検討したいと思います。

あと、うたい文句の「いつまでも無料」っていうのはどういうことなんでしょうか?自分にはよくわかりません。次回に掘り下げてみたいですね。

GCP f1-micro の UnixBench

前回の続きです。

今回は、f1-micro(vCPU x 1、メモリ 0.6 GB)の基本性能を UnixBench で計測してみました。ゾーンは、東京(asia-northeast1-a)です。

メモリが0.6GB なので一応スワップを作っておきました。

# dd if=/dev/zero of=/swapfile bs=1M count=1024
# chmod 600 /swapfile
# mkswap /swapfile
# swapon /swapfile
# echo ‘/swapfile                                 swap                    swap    defaults        0 0’ >> /etc/fstab

junkhack_gpl_jp_—_142×50

うーん、これはちょっと遅すぎます。ラズパイや、オレンジパイより遅い。こんなんだったら、ラズパイやオレンジパイを自宅サーバにしたほうがいいです。なので、これは選択外。

まぁ、AWS の ti.micro でも260台しかでませんから、それと比べると健闘していると言っていいかもしれません。

参考

AWSの各リージョン・AZごとにti.microのUnixBenchを取ってみた – Qiita
https://qiita.com/kou_bacchus/items/4616dd0031b4809898f0

次、g1-small(vCPU x 1、メモリ 1.7 GB)を計測してみます。

1.7_junkhack_gpl_jp_—_142×50

さっきのより速いですが、これでもラズパイ相当です。うーんですね。

とりあえず、このインスタンスを動かし続けて基礎的な値段を見てみます。こうなると、この前買ったノートPCの SSD に同じOSを入れてベンチマークを計測したくなりますね。

 

あと、無料枠のこともだいぶ理解が深まりました。Always Free の使用制限 というところに詳しく書いてありました。

Always Free の使用制限
https://cloud.google.com/free/docs/always-free-usage-limits

今回利用するのは、仮想サーバのGoogle Compute Engineの部分。

Google Compute Engine
スケーラブルで高性能な仮想マシン

1 f1-micro インスタンス(1 か月あたり、バージニア州北部を除く米国リージョンのみ)
30 GB の HDD(期間合計)、5 GB のスナップショット(期間合計)
1 GB の北米から全リージョン宛て下りネットワーク(1 か月あたり、中国およびオーストラリアを除く)

ということです。つまり、東京リージョンはNGで、アメリカにある仮想サーバへの接続となるので応答速度が少し遅れるということですね。

DISK容量はとりあえず十分で、あとはネットワークが1GB ということです。1万人の読者となるとトラフィックは余裕で1GB を超えますので無料枠からはみ出ることが想定。すごく大雑把なボリューム感としては、ユニークユーザ数が1万人ということは、総PVは、約2倍から3倍。平均したページサイズは、画像が多いので約5MB くらいで、2万 x 5MB が下りトラフィックです。約100GB で、これにCDN(Content Delivery Network)などのキャッシュ効果が5割~8割程度の削減として、約50GB から 20GB です。平均ページ容量を半分にした場合でも、1万ユニークユーザで総PVが2万月にあれば、CDN利用で 10GB から 25GB くらいになります。

 

現在は、総PVが4000程度、ユニークユーザは2100人ほどです。WordPress.com のサーバからのトラフィックは上の条件にはめて単純に計算すると、月に約20GB ほど流れています。wordpress.com は、Photon というCDNを使っています。表示したHTML のソースに以下のようなものがあると思います。

<link rel=’dns-prefetch’ href=’//s2.wp.com’ />
<link rel=’dns-prefetch’ href=’//s0.wp.com’ />
<link rel=’dns-prefetch’ href=’//s1.wp.com’ />

Jetpack というプラグインがこれを付けています。が、無料のWordPress ブログではこれらをON,OFF する部分は見当たりませんでした。

独立したWordPress ならば、Jetpack プラグインの設定で、「画像と写真をスピードアップ」というのがあるようでここで ON,OFF できるようですが。

 

そういうことで、ぐーぐるのAlways Free 無料枠では、1万人の読者を支える基盤にはちょっと無理がありそうかなという感触がつかめました。

 

しかし、自宅IoT のデータをちょびちょびと溜め込むような低トラフィックであれば有効活用できそうだということもわかりました。他にも工夫次第でいろんな用途に使えますね。なにせ、OS の中をまるっきり好きなようにいじれるわけですから。しかも、グローバルIPが1つついていますしね。

 

さて、今月も月末ですので忘れないうちに、ページビューとサイト訪問者のグラフを貼り付けておきます。

Stats_‹_junkhack_—_WordPress_com

あまり代わり映えしませんが、これからも仕事が忙しくても何か更新するライフワークにしていきたいですね。

WordPress目的でのレンタルサーバの候補2つ

前々回くらいから、WordPress を運用するレンタルサーバ(自宅サーバやクラウドを含めて)なにが一番よいかを検討してるところです。

さて、グーグルのクラウドの無料枠ですが、とりあえずここで運用するのも1つの手ですが、前回の計算によれば転送量と満足するインスタンスのスピードとトータルコストが無料枠を超えたときにちょっと辛そうです。

 

今回の要点は以下です。

・2900円のwordpress.com のビジネスプランはプラグインのインストールが可能で無制限の容量とメンテナンスフリーが魅力

・初期費用なく、月500円から始められる wpX クラウドも魅力

・無料枠の3万を使い切るまで、グーグルクラウドで運用し、その後上記に引っ越すのが一番よさそう

 

他、なにかいい方法はないかなとあれこれ検討した結果、以下の2つの候補が有力になりそうです。

 

まず1つ目。

wordpress.com の有料プランです。

https://ja.wordpress.com/pricing/

 

WordPress_com_プラン___WordPress_com_ストア

これ長らく、独自のプラグインが入れ込めず候補から外れていましたが、なんか2017年くらいからプラグインも入れられるようになったみたいです。そして、何より無制限の容量は魅力的。インフラも、AWS上に構築してある冗長構成の WordPress 基幹インフラを利用するのでメンテナンスフリーがなにより魅力的です。2900円は、決して高くなくむしろ安いくらいだと思います。

 

とは言っても、まだ月刊4000PV 未満の当サイトにはもてあますスペックであります。月間150万PV 以上に人気が出てきたときには引越ししようかなと思いますが、それまでは以下のクラウドが初期費用がなく安く始めらて魅力的ですね。

wpX クラウド
https://www.wpx.ne.jp/cloud/

 

WordPress特化のレンタルサーバー&クラウドサービス_wpXサービス比較ページ

これは1ドメインのみ運用で、メールアカウントは付いていませんが WEB だけ運用するにはちょうどいいプランです。初期費用なく500円から運用できるので、現在の最有力候補です。シェルは付いていませんが、とりあえずまぁなんとかFTP で事足りるので今度の休みに本格的に検討してみようかと思います。

 

1.無料枠を使い切るまでグーグルクラウドの東京リージョンでがんばる。

2.無料枠を使い切れば、wpX クラウドに引っ越す

3.月間PVが、150万PV以上になれば、wordpress.com のビジネスプランに引っ越す

 

という、構想です。

 

値段は、500円からスタートして月額1000円のスペックを超えるところまでここでがんばり、それ以上人気が出そうならば、先のWordPress.com のビジネスプランに移行という計画です。まぁ、そんなに人気が出るサイトを作れるかわかりませんが、、、、

 

ということで、そもそもこのブログをどうやったら人気になるかという根本的な事を考えないといけませんね。次の次の課題はそこにあることはわかっているのですが。

グーグルクラウドの仮想マシン1週間の値段

さぁ、週末になりました。みなさんお仕事お疲れ様です。JunkHack の近況は一言で言えば「現場は最後の火事場に突入、阿鼻叫喚」といったところです。2時帰りでした。エンジニアは直感的に、この仕事は無理すれば間に合うか、間に合わないか肌感覚で判別していますが、この仕事は明らかに厳しそうです。立派だなと思うのは、上位の中間管理者のパワハラがあまりないことです。プロジェクトは破綻しているが、人間の品質は高い言えるでしょう。構造的な欠陥は、各プロジェクトチーム間を専任で連携する担当部署(者)がないことと、指揮命令系統の責任範囲がしっかり明確化されていないことです。

また、納品間際で客先要望で設計変更があること、また設計上の重大な欠陥が見つかり設計変更があること、そして重要なそれらを担当できる人間のタスクが許容を大幅に超えているという現実です。今後、これらの問題をどのようにカバーしていくかがこの仕事の1つの楽しみでもあります。ちなみに自分の位置は、末端作業者であり、途中からの設計引継ぎという感じで一部設計者です。

 

■記事の要約

さて、今回の話の要約は以下のようになります。

・グーグルクラウドの仮想マシンで1週間動かしてみた値段は、約180円で1日約26円

・WordPress を動かすため、OS,WEB,DB,PHP を動作させるためアプリは何がよいか?

・1台シングル構成でいくか、クラスタ構成でいくか?

・WEB は apache じゃなく nginx を採用する?

・DB は、mariadb を採用する?

・PHP は ver7 にするか、HHVM を採用するか検討

 

■グーグルクラウドの仮想マシンで1週間動かしてみた

1週間ほど、グーグルクラウド(Google Cloud Platform のこと)の東京ゾーンで、g1-small(vCPU x 1、メモリ 1.7 GB)10GB SSD を動かし続けてみました。基礎的な値段を知るためです。1week

28日は、リソースをごにょごにょと切り替えてベンチマークしていたので、値段はおおよそです。

gcp_JunkHackup

コンパネからの値段は以上の表示でした。予想より低い値段ですね。1ヶ月4週として、720円、1000円未満です。まぁ、ネットワーク負荷はまったくないですし、CPU もまったく使っていませんので1つの目安です。ちなみに、このインスタンスのベンチマークは前回計測しましたが、683 程度の Index Score です。ラズパイ3相当です。SSD ですがディスクへの I/O にもリソース制限があり、

Compute_Engine_-_JunkHackup

この IOPS がどのような条件かは不明ですが、300程度に絞られている感じです。まぁ、無料枠は、3.2万ほどありますからこのインスタンスを動かし続けても無料枠で1年はいけそうです。もし遅いなと思ったら、CPU コア数を増やすか、メモリを増やすかして調整してみることにします。

 

■WordPress を動かすアプリは何がよいか?

OSや、その上に乗っけるWEB のアプリケーションは何がよいか改めて検討してみることにします。

現在、仮で動かしているOS は CentOS7 ですが、グーグルクラウドのブートディスクで用意されているものは以下のようになります。

Compute_Engine_-_JunkHackup 2

Debian GNU/Linux 9 (stretch)が初期値ですが、RHEL6や RHEL7 も選べます。たぶん、インスタンスの値段があがると思いますが。また、Win系のOS も選べます。JunkHack 的には、お仕事でもなじみがある RHEL互換の CentOS を選ぶのがベストかなと思いますが、Debian系の OS を選べば、たとえばフェイスブックが開発している HHVM という PHP のようなエンジンがお手軽に使えるというメリットもあります。また、RHEL を選択し、開発アカウント上で挙動の確認をする(実運用はしない)という目的も達成できそうです。1からDVDブートなり USBブートなりして、OS を入れる方法があるかどうかはまだ不明です。

また、このイメージは、Cloud Launcher というポータルサイトから選ぶことも可能です。

GCP Cloud Launchar 仮想マシン

https://console.cloud.google.com/launcher/browse?filter=solution-type:vm

ここには、必要なアプリケーションの上にWordPress をプリインストールしてあるイメージもあります。お手軽に試してみるにはいいかもですが、他人が作ったものなので細部がわからないため、これはとりあえずパスです。

あと、手元の環境で作成したイメージを使って移行することも可能なはずで、この方法は次回以降検討したいと思います。大雑把な流れとしては、手元のバーチャルボックスで作成した各種OS環境をグーグル上で動作させる手順がわかればいろいろと応用が可能です。

 

■オンラインで追加DISKをつけてみた

あと、DISKの追加をオンライン(電源を切らずに)で出来るか確認しておきました。結果、オンラインで追加でき、IOPS は以下のようになりました。

・実行コマンド

wget http://www.winkey.jp/downloads/visit.php/fio-crystaldiskmark -O crystaldiskmark.fio
sed -i ‘s/tmp/home\/tmp/’ crystaldiskmark.fio
                  ^^^^^^^^テストしたいデバイスのあるパス
fio crystaldiskmark.fio | tee log
grep iops -B1 log

結果

sda(10GB SSD bootDISK) xfs

Seq-Read: (groupid=0, jobs=1): err= 0: pid=22249: Sat Feb  3 16:45:49 2018
  read : io=1024.0MB, bw=249246KB/s, iops=243, runt=  4207msec

Seq-Write: (groupid=1, jobs=1): err= 0: pid=22250: Sat Feb  3 16:45:49 2018
  write: io=1024.0MB, bw=104036KB/s, iops=101, runt= 10079msec

Rand-Read-512K: (groupid=2, jobs=1): err= 0: pid=22251: Sat Feb  3 16:45:49 2018
  read : io=1024.0MB, bw=37647KB/s, iops=73, runt= 27853msec

Rand-Write-512K: (groupid=3, jobs=1): err= 0: pid=22260: Sat Feb  3 16:45:49 2018
  write: io=1024.0MB, bw=104191KB/s, iops=203, runt= 10064msec

Rand-Read-4K: (groupid=4, jobs=1): err= 0: pid=22261: Sat Feb  3 16:45:49 2018
  read : io=458240KB, bw=7637.3KB/s, iops=1909, runt= 60001msec

Rand-Write-4K: (groupid=5, jobs=1): err= 0: pid=22270: Sat Feb  3 16:45:49 2018
  write: io=532956KB, bw=8882.5KB/s, iops=2220, runt= 60001msec

Rand-Read-4K-QD32: (groupid=6, jobs=1): err= 0: pid=22271: Sat Feb  3 16:45:49 2018
  read : io=391988KB, bw=6530.9KB/s, iops=1632, runt= 60021msec

Rand-Write-4K-QD32: (groupid=7, jobs=1): err= 0: pid=22280: Sat Feb  3 16:45:49 2018
  write: io=361704KB, bw=6026.2KB/s, iops=1506, runt= 60022msec

 

sdb (30GB SSD 追加DISK) ext4

Seq-Read: (groupid=0, jobs=1): err= 0: pid=22576: Sat Feb  3 17:15:26 2018
  read : io=1024.0MB, bw=250496KB/s, iops=244, runt=  4186msec

Seq-Write: (groupid=1, jobs=1): err= 0: pid=22577: Sat Feb  3 17:15:26 2018
  write: io=1024.0MB, bw=37378KB/s, iops=36, runt= 28053msec

Rand-Read-512K: (groupid=2, jobs=1): err= 0: pid=22580: Sat Feb  3 17:15:26 2018
  read : io=1024.0MB, bw=104900KB/s, iops=204, runt=  9996msec

Rand-Write-512K: (groupid=3, jobs=1): err= 0: pid=22581: Sat Feb  3 17:15:26 2018
  write: io=1024.0MB, bw=32532KB/s, iops=63, runt= 32232msec

Rand-Read-4K: (groupid=4, jobs=1): err= 0: pid=22589: Sat Feb  3 17:15:26 2018
  read : io=407976KB, bw=6799.5KB/s, iops=1699, runt= 60001msec

Rand-Write-4K: (groupid=5, jobs=1): err= 0: pid=22598: Sat Feb  3 17:15:26 2018
  write: io=226936KB, bw=3782.3KB/s, iops=945, runt= 60001msec

Rand-Read-4K-QD32: (groupid=6, jobs=1): err= 0: pid=22600: Sat Feb  3 17:15:26 2018
  read : io=660252KB, bw=11000KB/s, iops=2750, runt= 60022msec

Rand-Write-4K-QD32: (groupid=7, jobs=1): err= 0: pid=22613: Sat Feb  3 17:15:26 2018
  write: io=361552KB, bw=6023.7KB/s, iops=1505, runt= 60022msec

追加DISKの書き込みが遅いのは気になりますが、まぁ、もともと絞りこんであって遅いのでまぁどうでもいいです。まぁ、話はだいぶそれましたが、OSは、このまま centos7(kernel 3.10.0-693.17.1.el7.x86_64) で動かすことにします。

 

■PHP7 の変わりに HHVM を採用

次に検討するのは、WEB,DB,PHPを何にするかです。一応、centos 標準だと以下のようになります。

apache(httpd) 2.4.6 + mod_ssl

php 5.4.16

mariadb 5.5.56

今のリポジトリは以下のようになっています。

# yum repolist
::
repo id                                                repo name                                    
base/7/x86_64                                          CentOS-7 – Base                              
epel/x86_64                                            Extra Packages for Enterprise Linux 7 – x86_64
extras/7/x86_64                                        CentOS-7 – Extras                            
google-cloud-compute                                   Google Cloud Compute                         
google-cloud-sdk                                       Google Cloud SDK                             
updates/7/x86_64                                       CentOS-7 – Updates                           

一応、構想としては、WEB は apache じゃなく、nginx にして、DB は、MariaDB Galera Cluster で、PHP 相当は、HHVMにしようかという思いがあります。ずいぶん前ですが、ローカル環境に2台の構成で、LB経由で負荷テストをしましたが HHVM の速度が驚くほど速く感動した覚えがあります。今は、PHP7 がリリースされて速度は速くなったと聞きます。

以下にいい比較記事がありました。

HHVM vs PHP 7 – The Competition Gets Closer!

https://kinsta.com/blog/hhvm-vs-php-7/

グラフを見ると、PHP7 もほとんど同じ速度ですが、CPU は HHVM のほうが節約できそうです。HHVM で行こうかなと思います。DBは、mariadb 5.5 でもいいんですが、2台構成の wordpress クラスタに実験的に運用してみようと思っていますのでお手軽に同期ができるDBとして使おうと思います。

 

■まとめ

以下のような構想です。

・WEB nginx

・DB  MariaDB Galera Cluster

・HHVM

・Gluster File System(glusterfs-server)wp-content/uploads の共有

LBは使わず、とりあえずはDNSラウンドロビンにて2台の WordPress サーバでそれぞれ振り分けるという感じです。可用性という観点は、まず置いておいて、その一歩手前までやってみようと思います。

この構成で興味があるのは、MariaDB の Cluster は本当に、1台で更新すれば2台目に同期されるのか?や、GlusterFS は実運用上、問題点はないかなどです。更新者は一人なので、同時書き込みの心配はほぼ無用なので、多少のラグがあっても問題はないのですが、実際に構成してみて、動作を確かめてみたいです。

 

たかが、WordPress を動かすだけに os から選定し、アプリを選定したりするのは恐ろしく一般的ではないとは思いますが、こういうマニア向けの記事もどこかで需要があるかもしれません。