2016年12月22日

PHP でなんちゃって Lambda :非同期やってみました

PHPの大きな弱点?である非同期処理、なんとかやろうとすると急に大変な工数が・・
そこでPHPで非同期処理のうまいやり方をいろいろ考えてたら、面白そうなのができたかも?

今はやりの Lambda を参考に(パクリ?)Web API で PHP の function を呼び出す仕組みを作ってみた。

うまく行くところと、限界(制限)もありますが、簡単な関数を作ってベンチマークしてみたら、凄い性能が出てしまった(mod_php比較)

テスト環境は、さくらインターネットのVPS(メモリ1G、CPU2個)

比較対象、mod_php バージョン5.6
単純なhello worldを3万回
18.274 seconds
1641.68 [#/sec]

・PHPで非同期処理
なんちゃって Lambda 環境で実行されたと同じ環境を作って3万回実行結果
PHP 5.6:約7秒
PHP 7.0:約0.5秒

実は今回試したなんちゃって Lambda はステートロスではないです。
Lambdaみたいにステートロスをやろうとすると難しい・・・というか元インフラエンジニアとしては、明らかに性能的に不利とわかってる仕組みには抵抗ありなんで
そのため下手なプログラムを作ると、簡単にメモリーリークします。
PHPというよりC言語で書くようなイメージでプログラム作れば大丈夫(じゃまずいかww)

◯Lambdaを参考に、簡単にPHPで書けるようにしてみた。

function hellow($arr) {
return "hellow_world";
}

というfunctionを作るだけで Web API からよびだせるようにしてみました。
ラベル:PHP Lambda
posted by zjapan at 15:53| Comment(0) | TrackBack(0) | PHP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック