スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(MySQL編)

少し前にCentOS 6.6がリリースされて、yum updateでそのまま6.5から6.6になったお家サーバー機。
LEMP環境でConcrete5とかWord pressとか動かしてるけど、Concrete5(の管理画面)が重くね?ってことで、サーバーの勉強を兼ねてちょっとチューニングしてみることにします。

お手本
さくらVPSのWordPressをチューニングして30倍高速化した方法
WordPressを100倍速くする! MySQLの調整やnginx proxy cache

1.現状把握
サーバー機のスペックはAthlon64x2 4800+(2コア2.5Ghz)、DDR2 1Gx2 M2A-VM。
CentOS 6.6 Nginx 1.6.2 MySQL 5.1.73 PHP 5.3.3

とりあえずab(Apache bench)使ってリモート機からベンチを走らせてみます。
結果 Concrete5 Requests per second: 0.82 [#/sec] (mean)
WP Requests per second: 7.00 [#/sec] (mean)
やばい。以下詳細。

$ ab -n 100 -c 100 http://http://192.168.0.6/concrete57/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking http: (be patient)...apr_sockaddr_info_get() for http:: Name or service not known (670002)
tmin@tmin-pc:~$ ab -n 100 -c 100 http://192.168.0.6/concrete57/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.6 (be patient).....done


Server Software: nginx/1.6.2
Server Hostname: 192.168.0.6
Server Port: 80

Document Path: /concrete57/
Document Length: 20561 bytes

Concurrency Level: 100
Time taken for tests: 121.550 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 2080500 bytes
HTML transferred: 2056100 bytes
Requests per second: 0.82 [#/sec] (mean)
Time per request: 121550.462 [ms] (mean)
Time per request: 1215.505 [ms] (mean, across all concurrent requests)
Transfer rate: 16.72 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 972 171.6 1002 1003
Processing: 6581 79326 41062.1 99478 120546
Waiting: 6579 79236 41068.3 99459 120544
Total: 6981 80299 41116.1 100480 121549

Percentage of the requests served within a certain time (ms)
50% 100480
66% 120242
75% 120959
80% 121041
90% 121306
95% 121389
98% 121534
99% 121549
100% 121549 (longest request)



$ ab -n 100 -c 100 http://192.168.0.6/wordpress/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.6 (be patient).....done


Server Software: nginx/1.6.2
Server Hostname: 192.168.0.6
Server Port: 80

Document Path: /wordpress/
Document Length: 8956 bytes

Concurrency Level: 100
Time taken for tests: 14.294 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 922400 bytes
HTML transferred: 895600 bytes
Requests per second: 7.00 [#/sec] (mean)
Time per request: 14294.206 [ms] (mean)
Time per request: 142.942 [ms] (mean, across all concurrent requests)
Transfer rate: 63.02 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 1 2 0.6 3 3
Processing: 6066 10595 3025.3 12281 14289
Waiting: 5477 10086 3152.4 11584 14255
Total: 6067 10597 3025.8 12283 14292
WARNING: The median and mean for the initial connection time are not within a normal deviation
These results are probably not that reliable.

Percentage of the requests served within a certain time (ms)
50% 12283
66% 13086
75% 13245
80% 13265
90% 13979
95% 14238
98% 14282
99% 14292
100% 14292 (longest request)



1−2.サーバー自体は大丈夫か?
結果的には大丈夫。/var/www/index.phpがあるので、これにアクセスしちゃうんだろうけど、63.40とそこまでひどくはない。
ということで仮説的にはMySQLが重いのかなってのが有力ですが、PHP自体はさして重くなくって、どこか他の要因が来ているように思います。php-fpmとNginxの組み合わせであれだとか。

Requests per second: 63.40 [#/sec] (mean)

$ ab -n 100 -c 100 http://192.168.0.6/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.0.6 (be patient).....done


Server Software: nginx/1.6.2
Server Hostname: 192.168.0.6
Server Port: 80

Document Path: /
Document Length: 1752 bytes

Concurrency Level: 100
Time taken for tests: 1.577 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Total transferred: 212300 bytes
HTML transferred: 175200 bytes
Requests per second: 63.40 [#/sec] (mean)
Time per request: 1577.185 [ms] (mean)
Time per request: 15.772 [ms] (mean, across all concurrent requests)
Transfer rate: 131.45 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 3 6 1.2 6 8
Processing: 512 1094 381.0 1163 1566
Waiting: 512 1094 381.0 1163 1566
Total: 518 1099 380.2 1168 1571

Percentage of the requests served within a certain time (ms)
50% 1168
66% 1264
75% 1538
80% 1546
90% 1563
95% 1569
98% 1570
99% 1571
100% 1571 (longest request)



2.MySQLがあかんのか?
MySQLチューニング
/usr/share/mysql以下にいくつかのサンプルがあるんだって。
リンク先では最近のサーバーでは4G当たり前だからって書いてあるけど、うちのサーバー機は2G。ちょっといくつか覗いてみたら、my-huge.cnfが1〜2Gのメモリにいいよって書いてあったので(エディタで中身意味てみると最初の数行に簡単な説明があります)、これを採用。

デフォルトのmy.cnfは/etc直下。ここに今回はusr/share/mysql/my-huge.cnfをコピってきて、もともとのmy.cnfはmy.cnf.backとしてリネーム、コピってきたmy-huge.cnfをmy.cnfとしてからmysqld restart。

$ sudo cp -r /usr/share/mysql/my-huge.cnf /etc/
$ sudo mv /etc/my.cnf /etc/my.cnf.back
$ sudo mv /etc/my-huge.cnf /etc/my.cnf
$ sudo service mysqld restart
mysqld を停止中: [ OK ]
mysqld を起動中: [ OK ]



php-fpmとの関係上サーバーがエラー返すようになったりしたらphp-fpmも再起動。(←多分必要

$ sudo service mysqld restart



結果

$ ab -n 100 -c 100 http://192.168.0.6/concrete57/
Requests per second: 2.23 [#/sec] (mean)



$ ab -n 100 -c 100 http://192.168.0.6/wordpress/
Requests per second: 6.72 [#/sec] (mean)


concrete5は少し速くなってWPは少し遅くなったけど誤差範囲内。チューニングしたとも言えない感じ。
とはいえconcrete5の管理画面の体感はちゃんと速くなってます。

とりあえずinnodb_buffer_pool_size(table_open_cache)を上げるのが効果的です。


とあったので、

table_open_cache = 1G
innodb_buffer_pool_size = 1G


としてみたもののさして変化なし。
というかtopで見てるとphp-fpmがめっちゃ上がってきている。

というわけで次回はPHP-FPMの設定を見なおしてみよー。
あとそのうちMySQLの基本もちゃんと勉強して設定項目把握しよー。

続き?
CentOS6.6のLEMP環境のconcrete5とWordPressのちゅーにんぐ(Nginx&PHP-FPM編

関連記事
CentOS 6.5でnginx+php-fpmでPHPを動かしてみる
Cent OS 6.5でNginx+php-fpm+mysqlでFC2オープンソース版とWordPress
CentOSサーバーにDrupal入れてみた
Concrete5.7.0が正式にリリースされたので早速CentOSサーバーに入れて動かしてみたよ
concrete5.7.0→concrete5.7.0.1 upgrade(CentOS6.5+LEMP)
MySQLのパスワード忘れた→復旧
CentOS+LEMPでbaserCMS
Nginx+Wordpressで固定ページをTOPにしたら403になった件
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。