質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
並列処理

複数の計算が同時に実行される手法

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

3回答

4258閲覧

ブラウザからの同時アクセスについて

panjaA

総合スコア67

並列処理

複数の計算が同時に実行される手法

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/09/14 11:37

唐突に申し訳ありません。

例えば、hoge.php(処理に10分かかる)というファイルがあって
hoge.phpに違うブラウザから同時にアクセスがあった時
どのようなことがおこるのでしょうか?
どちらかのアクセスが優先され、その10分後にもう1つのアクセスによる実行が起こるのでしょうか?

私のイメージは、アクセスごとに分離されているイメージでhoge.phpは同時にそれぞれの接続で実行されると思っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

PHP自体は1つずつ丁寧にこなすプログラムなので、同時に2つのアクセスが来ると止まります。
まぁ流石にそんなサーバーゴミクズなんで、同時にアクセスを捌く為のネタがあります。

参考記事: 1日4万PVのバズ記事を処理するためにしたこと - Qiita

よくあるLAMPサーバを構築すると、PHPはApacheの上で動作します。
この時にPHPのプロセスが1個だけでは愚鈍なサーバーになってしまう為、
ApacheはPHPのプロセスを同時に何個も一気に立ち上げて、「お前らアクセスが来るまで準備してろよ?」と命令します。
top等のコマンドでプロセスを監視するとPHPのプロセスがいくつも並んでるのが分かるかと思います。

うまく出来てますね。
こうして、PHPのサーバーに2つのブラウザが同時にアクセスした場合も、見かけ上は同時に処理を開始してくれるように見えるわけです。

投稿2017/09/14 11:59

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panjaA

2017/09/14 13:48

ありがとうございます!
guest

0

基本的にはご認識のとおりです。
ただ、無限に並列処理できるわけではないので、webサーバ側で決められた同時接続数を超えた場合は待たされます

投稿2017/09/14 12:00

tanat

総合スコア18709

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panjaA

2017/09/14 13:48

ありがとうございます!
guest

0

すでに BA が決定しているので、ひねくれた回答をしますが、10分も待つアプリケーションだと、タイムアウトを起こしてしまいます。
自身で実験する際は、30秒程度の sleep で我慢して、ブラウザをたくさん開いて確認するのが簡単で良いです。

投稿2017/09/14 13:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

panjaA

2017/09/14 14:51

なるほど!勉強になります! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問