PHP で負荷試験のシナリオを書きたい!ので amphp を使って自作した件 by やまゆ

PHPカンファレンス沖縄2023
レギュラートーク 30分

PHP で負荷試験のシナリオを書きたい!ので amphp を使って自作した件

akai_inu やまゆ akai_inu

jMeter, Locust, k6, ... 負荷試験ツールは色々ありますが、どれも PHP でシナリオを書くことができません。 PHP のコードは PHP でシナリオも書いてしまった方が一貫性があって良いですよね? PHP 8.1 から Fiber が入ったことで、 PHP でも非同期・並行的な処理が簡単に実装出来るようになりました。 PHP によるシナリオツール、 ないなら作ろう精神 で、自作することにしました。​

Fiber ままで並行処理を作るのは大変なので、今回は amphp を使って簡単に distributed なシステムを構築します。​

今回は何故自作したのか、どのように並行処理を実装したのかを紹介します。​

ターゲット

  • 負荷試験したい方
  • PHP で並行処理ってどうやるの?という方