Home > タグ > 最適化

最適化

MySQL5.5 default-character-set 廃止

MySQLを5.1から5.5にアップデートしたら起動でこけた。
どうやらdefault-character-setが廃止になりcharacter-set-serverに変わったみたい。

/etc/my.cnf の[mysqld]項目を変更すれば問題なく起動した。

[mysqld]
#default-character-set = utf8 ← 無効化
character-set-server = utf8 ← 追加
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# To enable the InnoDB Plugin, uncomment the 2 next lines
#ignore-builtin-innodb
#plugin-load=innodb=ha_innodb_plugin.so

# To enable InnoDB-related INFORMATION_SCHEMA tables
# Join the following options to above directive
;innodb_trx=ha_innodb_plugin.so
;innodb_locks=ha_innodb_plugin.so
;innodb_cmp=ha_innodb_plugin.so
;innodb_cmp_reset=ha_innodb_plugin.so
;innodb_cmpmem=ha_innodb_plugin.so
;innodb_cmpmem_reset=ha_innodb_plugin.so

key_buffer_size=512MB
table_cache=1024
max_allowed_packet=1MB
long_query_time=1
sort_buffer_size=2MB

起動後は使用していたデータベース自体もアップデート必要なので下記コマンド実行。

# mysql_upgrade -u root -p

my.cnfaにある最下段のチューニング項目は5.1時代のものなのでこのままでOKなのかは不明だが今のところ問題なく動作している。

CentOS 5.5 IPV6を無効化

デフォルトで有効になっているが使用しないので無効化する。
IPv6の確認 = inet6項目があり有効になっている。

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:21:85:A1:85:1F
          inet addr:192.168.1.90  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: 2001:a41d:dfff:43e:221:85ff:fea1:851f/64 Scope:Global
          inet6 addr: fe80::221:85ff:fea1:851f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:281012 errors:0 dropped:0 overruns:0 frame:0
          TX packets:179985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:307430591 (293.1 MiB)  TX bytes:21257735 (20.2 MiB)
          Memory:feb40000-feb60000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5355 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5355 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:994907 (971.5 KiB)  TX bytes:994907 (971.5 KiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

/etc/sysconfig/network にある NETWORKING_IPV6 の値を no に変更

# vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=centos.webmint.net
GATEWAY=192.168.1.1

/etc/modprobe.confファイルにalias ipv6 off と options ipv6 disable=1 を追加

# vi /etc/modprobe.conf
alias eth0 e1000e
alias scsi_hostadapter ahci
alias snd-card-0 snd-hda-intel
alias ipv6 off
options ipv6 disable=1
options snd-card-0 index=0
options snd-hda-intel index=0
remove snd-hda-intel { /usr/sbin/alsactl store 0 >/dev/null 2>&1 || : ; }; /sbin/modprobe -r --ignore-remove snd-hda-intel

chkconfig ip6tables off コマンドを実行

# chkconfig ip6tables off

サーバの再起動後 ifconfig -a コマンドで確認

# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:21:85:A1:85:1F
          inet addr:192.168.1.90  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:114 errors:0 dropped:0 overruns:0 frame:0
          TX packets:112 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14992 (14.6 KiB)  TX bytes:15330 (14.9 KiB)
          Memory:feb40000-feb60000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2575 (2.5 KiB)  TX bytes:2575 (2.5 KiB)

eth0のinet6項目及びsit0がなくなり無効化されているのが確認できた。

参考サイト »» IPv6の無効化

mod_deflateによるコンテンツのGzip圧縮

mod_deflateを有効にするためにdeflate.confを作成

[root@server ~]# vi /etc/httpd/conf.d/deflate.conf

<Location />
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rdf+xml

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</Location>

上記ファイルを有効化するためにhttpdを再起動又は再読込み

[root@server ~]# /etc/rc.d/init.d/httpd restart

mod_deflateの効果については下記のサイトを見た方がわかりやすい。
YSlow対策でmod_deflateを利用してHTTPレスポンスをgzip圧縮 – blog.katsuma.tv
圧縮出来ているかどうか及び効果は下記サイトやYSlowで確認できる。
Port80 Software »» Compression Check

当サイトの結果は77.0%の圧縮に成功し転送速度も数値上では4倍ほど速くなった。
mod_deflateによるコンテンツのGzip圧縮

サイトの表示時間

トップページが表示し終わるまでの時間が遅いように感じていたのでFirefoxのアドオンFirebug及びそのプラグインYSlowを導入し結果を見てみた。
結果は案の定最低(?)ランクのF42点でした。
結果を見るまでもなく原因はJavaScriptの多様と無意味に貼り付けている画像。

画像はともかくはWordPressはプラグインを増やせばそれだけでJavaScriptやCSSファイルが増えてしまう事が多々ある。導入しなければ済む話だがやはり素晴らしい機能は使いたくなるのでついついインストールしてしまった結果がこのありさま。

YSlow on Firebug

当面の目標として画像の品質を落とす事とGzip圧縮の導入で点数アップを狙ってみる。
ただ重たく感じるのはプラグインだけではなくテーマによってもかなり違う。
現在はwp.Vicuna Extを利用させてもらっているが、デフォルトのテーマに比べると読み込みに時間がかかっていそうだったので下記サイトで計測してみた。
Pingdom Tools – Full page test
WEBページの表示速度測定
4秒弱の差があるのは結構大きい方だと思うが、それよりも軽いと思っていたデフォルトのテーマでさえ8秒以上かかっているのには海外からの測定という条件を考慮したとしても結構ショック。

と書きつつも今回も懲りずに画像を貼っている。因みに普通のhtmlな静的ページは問題のない数値が出ている。

Firebugは素晴らしいと思うが何故ゴキブリ?? 今にもステータスバーから飛び出しそうで・・・。

MySQLのチューニング

現在使用しているテーブル数は100前後なのでチューニングする必要性はないと思うが。

/etc/my.cnfを編集

[mysqld]
key_buffer_size=512MB
table_cache=1024
max_allowed_packet=1MB
record_buffer=1MB
long_query_time=1
sort_buffer_size=2MB

下記記事を参考にすべて設定するとエラーが起きてMySQLが起動しなかったので上記パラメータのみ設定するようにした。
ただエラーが起きたのは私の書き方が間違っていたために発生したのかもしれない。
因みに現在当サーバにインストールされているMySQLのバージョンは5.0.22なので最新版ではないみたい。

参考記事 » 5分でできる、MySQLのメモリ関係のチューニング!

万一に備えて /etc/my.cnf の中身をメモしておく。

続きを読む

レジストリの最適化

今年の4月にVistaを導入しまだ約8ヶ月足らずしか経っていないにも関わらず、微妙に動作が重くなってきたような気がする。

そこでNTRGOPTを利用してレジストリの最適化を行ってみた。
 ・作業中のイメージ
NTRGOPT-動作画面

 ・作業結果
NTRGOPT-結果画面

今回は11%のスリム化に成功。
再起動後なんとなく全体的なレスポンスが良くなった気がするのは気のせいでしょうか? wink

もちろん最適化の前にレジストリの大掃除は行いましたが・・・。
参考記事>>Windows XP 高速化 その4(レジストリの最適化)

Home > タグ > 最適化

Tag Cloud
メタ情報

ページの上部に戻る