ちゃんと覚えておけよ?

忘れちゃいけない事のメモ、覚え書き

cloudflareを利用しているとガラケーのmailtoが書き替えられておかしくなる

PC,スマホは問題ないがガラケーだけ挙動がおかしくなる。
この対策方法としては、mailtoをHTMLエンティティ化する事で問題なくガラケーのメーラーが立ち上がる。

また、エンティティ化することで、ページを実際に見ている人には影響を与えることなく、メールアドレスなどを広告業者に収集されづらくなるので導入かしたほうがよい。

wordpressの管理画面が重いと思ったら、memcachedを使ってサクサクに

特に重いプラグインを使っているというわけではないが、Wordpressの管理画面が重い。。。

DB Cache Reloaded Fix

を入れると管理画面が軽くなるという情報から入れては見たものの実感があまりできず、いろいろ探してたところ、どうやら「memcached」を使うと劇的に変わるという情報を発見した。

さくらVPS 3コア SSD100Gプランのunixbenchを取ってみた。

========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)

System: ***********.sakura.ne.jp: GNU/Linux
OS: GNU/Linux — 2.6.32-431.5.1.el6.x86_64 — #1 SMP Wed Feb 12 00:41:43 UTC 2014
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel Xeon E312xx (Sandy Bridge) (4999.7 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
CPU 1: Intel Xeon E312xx (Sandy Bridge) (4999.7 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
CPU 2: Intel Xeon E312xx (Sandy Bridge) (4999.7 bogomips)
Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSCALL/SYSRET
19:12:39 up 201 days, 23:42, 3 users, load average: 0.34, 0.11, 0.04; runlevel 3

お名前.comのVPS 6コア 8G プランのunixbenchを取ってみた

========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)

System: *****************.myvps.jp: GNU/Linux
OS: GNU/Linux — 2.6.32-431.23.3.el6.x86_64 — #1 SMP Thu Jul 31 17:20:51 UTC 2014
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap=”UTF-8″, collate=”UTF-8″)
CPU 0: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 2: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 3: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 4: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 5: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
11:39:03 up 1 day, 54 min, 2 users, load average: 0.22, 0.07, 0.01; runlevel 3

php-fpmがメモリを食ってSWAP発生させるので設定を変更してみた。

#プロセスマネージャが子プロセスの数を制御する方法を選択します。
#static – 子プロセスの数は固定 (pm.max_children) です。
#ondemand – プロセスを必要に応じて立ち上げます。 dynamic とは対照的に、リクエストされると pm.start_servers で指定しただけサービスを開始します。
#dynamic – 子プロセスの数は、 pm.max_children、pm.start_servers、 pm.min_spare_servers、pm.max_spare_servers の内容に基づいて動的に設定されます。
#staticは固定値でメモリを保有するので処理は上がります。dynamicは低負荷の場合メモリ消費量が少ないので他の処理にメモリを割り当てることができます。
pm = dynamic

#作成される子プロセスの最大数の設定をします。
pm.max_children = 100

#起動時に作成される子プロセスの数を設定します。(dynamicは必須項目)
pm.start_servers = 10

#アイドル状態のサーバープロセス数の最小値。(dynamicは必須項目)
pm.min_spare_servers = 10

#アイドル状態のサーバープロセス数の最大値。(dynamicは必須項目)
pm.max_spare_servers = 20

#各子プロセスが、再起動するまでに実行するリクエスト数。 メモリリーク対策で1000回実行すると再起動するようにしています。
pm.max_requests = 1000

今回[pm.max_requests]が設定されて折らず、デフォルトの0(無制限)となっていたため、SWAPが発生してしまった。

1000回実行でプロセスを再起動するようにしたことでどのくらい余裕が出るか確かめたいと思う。

これで余裕が出来たらデータベースにメモリを割り当てよう

 

PHP-FPM – you may need to increase pm.start_servers, or pm.min/max_spare_servers – Warningエラー対処法

以下のようなエラーログがphp-fpmのエラーログに残っていたため、改善してみた。

seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 0 idle, and 10 total children

pm.start_servers とは

起動時に作成される子プロセスの数です。
pm = dynamic の場合 にのみ適用されます。

pm.min/max_spare_servers とは

アイドル状態時の子プロセスの最小/最大数です。
pm = dynamic の場合 にのみ適用されます。
エラー対処法

PHP-FPMの設定ファイル(/etc/php-fpm.d/www.conf)を編集し、「pm.start_servers」「pm.min/max_spare_servers」を増やします。以下の数値は、サーバーの状況に応じて変更しましょう。

pm.start_servers = 10
pm.min_spare_servers = 10
pm.max_spare_servers = 70