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

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

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

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

解決済

PHP file_get_contents 1MB

valvalx
valvalx

総合スコア22

PHP

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

2回答

0評価

0クリップ

197閲覧

投稿2022/06/28 02:08

編集2022/06/28 12:19

毎秒1MBのtxtファイルを読み込み(JS XHR使用)を行いのですが、負荷や読み込み速度をなるべく軽減したいです
どのようにすればいいでしょうか?

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

gU8C8Nud4E8p3uW

2022/06/28 02:24

このままだと、単なる丸投げ質問。現在どのようなコードを書いていて、どのような問題が生じていて、何をどう試して改善できずにいるのか、実際のコードをサンプルとして示してもらわないと。ところで、txtファイルの取得、読み込んで何らかの処理を1秒間のうちに完結させるっていう無茶苦茶な仕様?方針?はどこから来るんですか?
yambejp

2022/06/28 02:24

状況がわかりません jsの非同期処理で毎秒1mずつファイルを送り続ける? 受け取ったファイルをどうしたいのでしょうか? あまり現実的な処理だとは思えないですけど・・・
valvalx

2022/06/28 02:30

具体的に書きますと 1MBのtxtにチャットのログが保存されています これを1秒ごとにXHRで読み込んでいます この負荷を軽減したいです DBは使えません 不可能な領域でしょうか?
valvalx

2022/06/28 02:32

秒間という書き方をしてしまいましたが10秒(最長)に1回リクエストを投げその間に処理したいと考えています
valvalx

2022/06/28 02:33

DB以外でノウハウをお持ちでしたら教えていただきたいです
maisumakun

2022/06/28 02:39

> これを1秒ごとにXHRで読み込んでいます この負荷を軽減したいです そもそも、なぜそんな大量のデータをフロントに送らなければならないのでしょうか?
yambejp

2022/06/28 02:41 編集

テキストファイルはサーバーにあるのですか?クライアント側ですか? クライアントからXHRでファイルを送る場合はinput type=fileなどになると思いますが そういう認識でよいですか? そうなると秒単位でファイルの貼り付け(?)をクライアントがすることになりますが それは現実的な運用方法とは言えないですね・・・ 逆にサーバーにあるファイルをクライアントが呼びたいなら 受け取った量をクライアント側が処理しきれないような気がします
valvalx

2022/06/28 02:46 編集

すみません 1MBを送りつけるということではありません フラグを立ててサーバー側で処理する際に1MBの読み込みがfile_get_contentsが動くという意味です ですので読み込みが終わり、受信する際には実際には応答し、吐き出されるものは数byteしかないものの、サーバー側では1MBに読み込み処理をするため、 XHRを投げて応答するまでファイルが大きければ大きい程応答に時間を要するという意味です 意味がわかりませんでしょうか? XHR自体の応答の結果自体は数byteであれサーバー側が1MBの読み込み処理を行うという意味です
valvalx

2022/06/28 02:49

説明が下手ですみません XHR 1kbyte投げる→サーバー側で1MBのtxtを読み込む→読み込んだうちの数byteを吐き出す この流れですが、1MBをサーバーで読み込む負荷を軽減させたいです
valvalx

2022/06/28 02:52

クライアント XHR~ formdata.append("a","a"); send()//POST 送信したら、 数byteを受信 サーバー if($_POST["a"]!=""){ $a=file_get_contents("1MBのファイルへアクセス"); 処理が続く~ echo $a;//吐き出しは1MBのファイルを読み込んだうちの数byte }
yambejp

2022/06/28 02:56

「吐き出しは1MBのファイルを読み込んだうちの数byte」 の部分の解釈と出力が重いだけでしょう
valvalx

2022/06/28 03:02

PHPの処理が遅いからということでしょうか
yambejp

2022/06/28 03:05

どういうファイルからどういう基準でどこを切り出してどうやって出力しているか一切情報がないので判断できません。質問者さんが思っているボトルネックは実際にはたいしたことないと言うのが感想です。 もちろんファイルサイズが大きくなると受けたデータを保持するだけでメモリも消費しますので負荷は高くなりますが1M程度のデータを処理できないサーバーはそもそもなにをやっても遅いでしょう

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

PHP

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