hnwの日記

第七回闇PHP勉強会でrealpathキャッシュとデプロイの話をしました

昨日12月11日に第七回闇PHP勉強会を開催いたしました。私を含め発表者6人ということで、とても盛り上がった勉強会になりました。発表者の皆さま、またご参加いただいた皆さま、本当にありがとうございました。また会場提供いただいたピクシブ株式会社さまにも大変お世話になりました。


以下が私の発表資料です。



PHPアプリケーションをsymlink切り替えでデプロイしているとrealpathキャッシュ絡みで何かしらトラブルがありますよね、というくくりで複数のトピックを紹介するような内容でした。タイトルの通り、一番話したかったのはmod_phpphp-fpmとでOPcacheの挙動が変わる話だったんですが、かなり入り組んだ内容だったのでうまく伝わらなかったかもしれません。


質問タイムに、@edvakfさんから面白いエピソードを聞くことができました。Pixivではこの手の問題に一通りハマった結果、現在では「realpath_cache_size=0」での運用に落ち着いており、性能面でも特に問題は出ていないそうです。なぜ性能面で問題が出ないのか、その場では答えられなかったのですが、OPcacheによるopcodeキャッシュがrealpath cacheの前段のキャッシュのように働いているのが理由かもしれません。多段キャッシュ構成で前段キャッシュの方が高性能であれば、後段キャッシュって何の意味もないですからね…。


また、発表資料ではblue-green deploymentが最強ではないかという話を紹介しましたが、Pixivではデプロイ完了までの時間を重視しているためsymlink切り替えの方が良い、という話も聞けました。環境によって何を重視するかは異なるはずで、選択肢は人それぞれということだと思います。


他にも、rsyncデプロイやFTPデプロイもまだまだ現役ですよ!という話も多数聞くことができました。だから120秒間の新旧*.php混在問題は黙っていてほしい、なんて話もあったりなかったり(笑)。


懇親会もピクシブの皆さまにお世話になりまして、勉強会会場で引き続きの開催となりました。その場の空気感を維持したまま議論が深められる上に離脱率も減るので、同じ会場での懇親会はメリットが大きいなあ、と感じました。おかげさまで色々な方とお話しすることができました。


次回こそは半年後くらいに開催したいと考えておりますので、引き続きよろしくお願いいたします!