4

私は初めてPHPを試しています(従来のASPから来ました)。READFILEを使用して、リモート画像を読み込んで表示することをテストしています。テスト中に、ほとんど同じことを行う古い ASP スクリプトと比較して、リターン タイムに大きな違いがあることに気付きました。PHP バージョンは、実際にはロードに 2 倍の時間がかかりました。

これが私の PHP です。これはわずか 3 行のコードです。

<?php
$url = "https://s3.amazonaws.com/bucket/file.jpg";
header("Content-Type: image/jpeg"); 
readfile($url);
?>

これが私の ASP バージョンです。

<%
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "GET", "https://s3.amazonaws.com/bucket/file.JPG"
objHTTP.Send
Set Jpeg = Server.CreateObject("Persits.Jpeg")
Jpeg.OpenBinary(objHTTP.responseBody)
Jpeg.SendBinary
%>

私の古い、完成した、死んだ、廃止された、古い学校の、病気のクラシック ASP バージョンが、古き良き PHP よりもはるかに優れているのはなぜですか? 実際、ASP バージョンは PHP バージョンよりも多くのことを行っています。READFILE 以外にもっと速く使えるものはありますか? READFILE を正しく使用していますか? どちらも一瞬でロードされますが、PHP には非常に顕著な遅延があります。

4

1 に答える 1

0

最初に:あなたはPHP5.2を述べます

5.2はサポートされなくなったことに注意してください。本当にアップグレードする必要があります(サードパーティのISPが提供している場合は、それらからアップグレードする必要があります。サポートされていないバージョンのPHPを提供しているISPはありません。これは明らかなセキュリティリスクです)。

アップグレードするもう1つの理由は、PHP5.3が5.2よりも大幅に高速であることです。また、5.4は5.3よりも大幅に高速です。速度が気になる場合は、実際には最新バージョンを使用する必要があります。

他の考え?

PHPとASPのコードはおそらく同じサーバー上にありませんよね?2つのサーバーに違いはありますか?プロセッサ速度、メモリ、ネットワーク速度?そして、それらの項目からあなたのプログラムに与えられるリソースに制限はありますか?

リモートURLからファイルをフェッチしていることを考えると、サーバーまたはネットワークのパフォーマンスがプログラムのパフォーマンスよりも問題になる可能性が高いことをお勧めします。

于 2012-07-22T15:15:59.193 に答える