投稿数 585
公開から 2940

大規模トランザクション


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