大規模トランザクション
Categories:
php
いきさつ
PHPで大規模なシステムを開発することになった。 パフォーマンスとかトランザクション的なことが心配なので調査する。
そもそも大規模開発できるの?
楽天でも採用されているから多分大丈夫なんだろう。。 ただ確かに分散化とかしたらセッションとかどうなるだろうね?(疑問)
https://japan.cnet.com/article/20061933/
そもそもなぜPHPは大規模に向かないと言われるの?
A. 昔PHPという言語が安定してなかったから。
勝手に運用時のパフォーマンスとかのことでPHPはダメっていうのかと思ったけど、違うんですね。 その昔、PHPの創生期のときにはPHPの言語仕様が固まっていなかったこともあり、PHP自体が不安定、 型も無く、プロジェクトが大きくなるのといろいろ大変! …ということがあったらしい。
もはや型もあるしこいうこと言われることもないのかな?
パフォーマンス
トランザクションをさばく
負荷対策
CPU負荷対策
サーバーはなぜ落ちるのか?
なぜ起きるのか? PHPを動かすときにサーバーのCPUを使うが、 そのPHPの動きがCPUのキャパを超えたとき、オチる。。
負荷テストの方法
ツールを使うのが現実的みたい。 JMeterとか。 Tsungとか。 Gatlingとか。
感想
結局サーバのスケールアップが一番重要じゃないのかなぁ。。 PHPは負荷を減らすことしかできない。 もしくはロードバランサー時のセッション管理をDBに移すとか。
参考
https://support.xserver.ne.jp/faq/service_hp_wp_measures_againstload.php