自宅サーバのwordpressの速度が遅いの続きです。
色々試したのでそのメモ。結論から言うと、まだ速度改善していませんorz
●原因の切り分け
遅い遅いと文句いっていても仕方がないので、原因を一つ一つ切り分けてみます。まずLAN上のマシンから自宅サーバ(同一LAN上)のマシンへの接続テスト。
(1)単純なtxtファイルへのab→3程度。瞬時。下記の内容のtxtにアクセス
aaaaaaaaa
(2)単純なphpへのab→5程度。下記の内容のphpにアクセス
<?php echo"Hello world"; ?>
(3)単純+mysqlへアクセス(ごく簡単)するphpへのab→1212。下記のphpにアクセス。(アカウント名)などは適切な値に変更する必要がある。
<?php $url = "localhost"; $user = "(アカウント名)"; $pass = "(パスワード)"; $db = "(db名)"; // MySQLへ接続する $link = mysql_connect($url,$user,$pass) or die("MySQLへの接続に失敗しました。"); // データベースを選択する $sdb = mysql_select_db($db,$link) or die("データベースの選択に失敗しました。"); // クエリを送信する $sql = "SELECT * FROM (テーブル名)"; $result = mysql_query($sql, $link) or die("クエリの送信に失敗しました。<br />SQL:".$sql); echo $sql; //結果セットの行数を取得する $rows = mysql_num_rows($result); // MySQLへの接続を閉じる mysql_close($link) or die("MySQL切断に失敗しました。"); ?>
どうもmysqlデータベースがネックになってる模様。なので/etc/my.cnfでクエリキャッシュを使うようにしてみる。最初はmy.cnfの末尾に
query_cache_type=1 query_cache_size=16M query_cache_limit=1M
と書いたけど、確認すると全然有効になってない。はて、と思い確認するとどうも[mysqld]セクション内に書き込まないと有効にならないようです。書く位置を変えてmysqldを再起動すると、クエリキャッシュが有効になりました。
で、abすると…速度変わってないorz なんでだろー
mysqlが絡むと遅くなってるから、その設定だと思うんですが… 時間あるときにもう少し試してみます。
以下、個人的なmysqlコマンドのメモです。よく忘れるので。
・DBへの接続 # mysql -uroot -p [DB名] ・設定ファイル /etc/my.cnf ・設定ファイルの反映(再起動) # /etc/init.d/mysqld restart 以下>mysql内で使えるコマンド群 ・1ページごとに表示するように mysql>pager more; ・状態確認 mysql> SHOW STATUS; ・クエリキャッシュを使っているかの確認 mysql>show variables like 'query_cache_%e'; query_cache_sizeの値が0なら使ってない
ラズベリーパイのwordpressが遅いなぁ…という場合には
ラズベリーパイのCPUはかなり遅いので、対策が難しいです。いろいろ設定をいじるより、CPUが高速なさくらのVPSを借りてそれにUbuntuをインストールすることで、ビーグルボーンブラックやラズベリーパイと同じ手順で高速なサーバを構築することができます(^O^)
自分も使っていますが、CPUはラズベリーパイのおよそ10倍、ビーグルボーンブラックのおよそ7倍速いのでブログソフトWordpressもサクサク動いてとても快適です(・∀・)
ビーグルボーンブラックやラズベリーパイでサーバ構築の練習をし、VPSで高速安定なサーバを構築するとCPUやメモリも自由に使え、勉強する時間も少なく安定したサーバが作れるためコスパが最高だと思います