LoginSignup
12
6

More than 3 years have passed since last update.

YYPHP#85「皆さんPHPで高負荷の処理はどうしてる?」「サーバレスアーキテクチャについて」「gRPCってみんな使ってる?」「ネームスペースが無いプロジェクトにComposerを組み込むには」

Posted at

これは2019年5月24日に開催したPHPerイベントYYPHP#85のイベントレポートです。

YYPHPは一言で「PHPerの部室」です。PHPについて、雑に、ゆるく、ワイワイ話し合う集いです。毎回お題を決めずに雑談を出発点にいろいろなことを突発的にやります。集まった人でコードリーディングをすることもあれば、一緒に開発ツールを触ってみたり、フレームワークについての情報交換をすることもあります。開催はほぼ毎週、高田馬場にて。

今回の配信動画

過去回の配信動画

雑談

ネームスペースが無いプロジェクトにComposerを組み込む

  • WordPressで独自のプラグインを開発納品することがある
  • Composerでそのパッケージを管理したい
  • WordPressはPSR-4に準拠してない

Composerを入れたい目的

  • フォームのバリデーター、SNSのログインなどのパッケージを再利用したい。
  • WordPressのプラグインを開発しているが、そこにComposerパッケージを使いたい。

  • XOOPS CubeでComposer入れたことがある

    • index.php でAutoLoaderが
    • 複数ある場合、どのindex.phpからでも読み込まれるようにする

PHPからテンプレートに値を埋めていくのどうやっている?

  • Bladeを使っている
  • 不動産関係のアプリを作っていて項目が山のようにある
  • 効率的に埋める方法を知りたい
  • みんなどうやってる?

  • 配列にデータ入れて、回したらだめなの?

    • Bladeの良きところに入れたい
    • HTMLとCSSを見直せばバーっと行ける気がする
    • あとで見せます

PHPで高負荷の処理を皆さんどうやっている?

  • データベース
  • Laravel
  • Eloquentを外しちゃいがちだけど、あえて使いたいと考えている
    • キャッシュをうまく使うのが良いのでは?
  • イントランザクションにいる必要がある
    • Writeが多い
  • 台数増やす
  • 一旦Queueにつむ
    • 結果整合性は保てる
    • 画面には投げたデータで画面を返すか待つしかない
  • SSEで待たせるのが一番現実的かも
  • Node.jsの方が適してそう

    • PHPはストリーム処理できない
  • Queue

    • AWSだったらSQSかRedisが良さそう
  • Laravelでないといけない理由はあるか?

    • Lamdaではだめ?
    • Lamdaとかだと見積もりが出しにくい
  • PHPに限界を感じた時は?

    • Goで書いたことがある
    • PHPはスレッドが使えない、Goはスレッド化して複数プロセスを実行できる
  • GitLabのRunnerまわりのGo実装がチャンネルがちゃんとしている

  • PHPerが他の言語を学ぶ

Laravelの権限管理の機能について

ぬーぺっとさんのget-member.phpについて質問がある

  • データを取ってくるInterfaceの名前ってどんな単語が適切?

collector
fetcher
retriever

$event = new ConnpassEvent($url);
$members = $event->getMembers(); 

サーバレスアーキテクチャについて

  • 実際に使ってるのかとか、興味があるのかとかを知りたい
  • 使ったことある 3人
  • 使っていきたい 6人
  • KNative
    • Kubernatesでvendorに依存しないFaaSが作れるやつ
    • 金額が見積もれる
  • Lamda
    • 負荷に応じてスケールできる
    • 金額が見積もりづらい
  • CloudWatchから通知を受け取るときにLambdaで付加情報を加えるときに使っている
  • SAM(Serverless Application Model)

AWS上で冗長化されてるWordPressをEFSでマウントしてるけど遅いよ!どうしたらいいの!?

  • 画面からPluginをインストールしたら1つのサーバにしか配置されない。
  • APCとかOPCache?でオンメモリにPHPのファイルがロードされたように設定する
    • この方法の弱点はキャッシュが効くので新しいファイルが反映されない(されにくくなる)
    • キャッシュの期間の設定を工夫
  • EFSがびっくりするくらい重い
    • 並行数が1とか2だと遅いのでメリットがでない
    • 大量に読み書きするのに向いている
  • 同じVPCだったらNFSを素で使ったほうが速い

gRPCってみんな使ってる?

  • IDLっていいものだと思うので、ライブラリとか使ってるものがあれば聞きたい
  • PHPで使ったことない
  • gRPCって何? - Qiita

Pythonのフレームワークについて聞きたい

YYPHPは毎週やってます

PHPについてワイワイ話したい方は、YYPHPのイベント情報をチェックしてみて下さい。

以上、YYPHPのレポートでした。次回もワイワイやっていきたいと思います! では、また来週!

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6