0

PHP Webアプリケーションでは、同時実行と負荷分散はサーバーまたはアプリケーション自体によって行われますか?

(フレームワークを使用せずに)純粋なPHPでアプリケーションを作成する場合、同時実行性と負荷分散を処理しますか?

例:
-Webサイトには販売するアイテムが10個ありますが、
1000人の顧客が同時に購入しようとすると
どうなりますか

PHPフレームワーク(cakePHP、Codeignator)を使用する場合、アプリケーションにコードを追加しますか?

もう1つは、同時実行性について心配したくないということです。エラー処理を実行し、サーバーを実行するために休憩を取ります。または、アプリケーションでの同時実行性処理について考える必要があります。

4

2 に答える 2

2

いいえ、PHPは負荷分散を行いません。ここでは、並行性が意図されています。並行性を処理するようなことはありません。これは、2つの同時リクエストが入ったときに何をしたいのかという問題です。PHPはリクエストごとのモデルに基づいて構築されています。これは、個々のリクエストがPHPによって並行して処理されることを意味します。したがって、PHPは、複数の同時リクエストが同時に着信することを気にしません。それらは別々に扱われます。

負荷分散は通常、別の負荷分散ソフトウェア(VarnishPoundなど)によって処理されます。同時実行性は通常、データベース、 memcachedreddisなどのキー/値ストア、 Gearmanzmqなどのジョブマネージャー/キュー、メールサーバーなど、特定の要件を介して制御するさまざまなデータを管理する外部ストリームとサーバーによって処理されます。 。これらはすべて、PHPが定期的に通信するものであり、通常、ユーザーとWebベースのアプリケーションとの対話に関連するさまざまなタスクを担当します。PHP自体は非常に薄い仲介者であり、これらすべての相互作用がどのように機能するかをスクリプト化して制御することができます。

于 2012-12-24T08:04:36.347 に答える
2

負荷分散は通常、サーバーフレームワークによって処理されます。PHPは、負荷分散をネイティブに実行しません。あなたのウェブサイトが同時に1000人の顧客を扱うことができない場合、あなたのウェブサイトは利用できなくなります。

于 2012-12-24T07:43:37.690 に答える