2014年5月26日月曜日

WordPress高速化 でっきるかな ~WindowsServer + Nginxで死んだ編~

どうも。siba018です。
前々回の記事の通り、どうしようもないレベルでWSが遅かったので、どうにかしようと考えてました。
そこで気がついたのは
「WSでもNginx入れてリバースプロキシにすれば速いんじゃね?!w」
早速探してみました。ありました。nginx for Windows
めっちゃ闇っぽい。実際闇でした。

Known issueに、「The cache and other modules which require shared memory support do not work on Windows Vista and later versions due to address space layout randomization being enabled in these Windows versions.」と書かれています。これは、WindowsVista以降Windowsは、ASLRという技術を用いて、アドレス空間配置のランダム化を行っています。それに、Nginx for Windowsは対応していないよ、という話でした。

まあ、関係ないことだろうと思っていましたが、これに見事に引っかかります。
前回の記事の通り、Nginxのconfを書き、いざ起動、と言うところで問題が発生しました。エラーログには
「shared zone "cache" has no equal addresses: 02CC0000 vs 03560000」
と書かれています。ビンゴです。共有メモリのアドレスが変わっています。

困った。ということで、ASLRを無効化出来ないか?と思い、いろいろ調べてみました。
EMETを使う、 "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages"を設定し、強制的に無効化させようとする、等やりましたが、ダメでした。

ち~ん(笑)

次は、Nginx使わないでもそれなりに速くなったので、それについて書こうかと思ったんですが、書いちゃうと手の内がバレちゃうなあと、ザコなので特に意味が無さそうですが.

0 件のコメント:

コメントを投稿