2011-07-29 9 views
1

対メモリ私はプログラミングに多少新しいですし、データ・キャッシングについての質問の多くを持っています。 静的コンテンツがあります。より速くなるでしょう:コンテンツをphp \ htmlファイルに保存し、そのページをそのまま出力するか、apc_fetch()を使ってコンテンツを出力するスクリプトを使用します(以前はメモリに保存されています)。最初のケースでは、Apacheは常にファイルシステムからページを読み込み、ページをRAMに保存しません。現在のAPC実装はFastCGIでうまく動作しますか?前もって感謝します!キャッシュコンテンツ、ファイルシステム(PHPとApache)

私はまだAPCキャッシュを使用した場合のベンチマークはApacheがとても速く静的なページを読み込むことができますが、ファイルシステムを使用する場合と比較して4倍速アップを示さない理由として取得しておりません。

答えて

0

静的なHTMLは常に最速になります。オプコードキャッシングを使用しても、PHPはスクリプトをロードして実行しなければならず、キャッシュなどに行く必要があります。一方、Apacheの主な目的は静的コンテンツをできるだけ早く提供することです。

+0

よりも高速になります非常に高速。 – Dan

+0

私は、ファイルシステムによって、PHPコードそのもの、またはシリアル化されたデータについて話していると仮定しています。そのような場合、APCは間違いなく速くなります。なぜならPHPは通常、すべてのリクエスト(またはopcodeキャッシュの場合は別のファイルからオペコードをロードする)でコードをコンパイルするからです。しかし、レンダリングされたコンテンツを手に持たせるためには、毎回静的なhtmlが勝つはずです。 –

1

よりもむしろ、私はどちらか、そのページ上のダイナミックな部品(データベース呼び出しなど)をキャッシュし、それらのキャッシュ結果を格納するファイルシステムやmemcacheのを使用することになり、静的ページ全体をキャッシュします。静的なページを書き出す

は、サイトの成長に合わせて維持することがより難しくなりますし、より頻繁にあなたの再建のページ場合よりオーバーヘッドになります。あなたのウェブサーバがディスクからのすべてのコンテンツアイテムを取得するために持っていた場合

0

それは信じられないほど遅くなります。最新のオペレーティングシステムはすべて、洗練されたディスクキャッシュを実装しています。

あるとしてPHPの\ HTMLファイルと出力にページをコンテンツを保存、またはapc_fetchを介して出力内容を()

は、静的なファイル(すなわちないPHPにアクセスするスクリプトを使用しますファイル)は、PHPファイルにアクセスし、PHPを解析してから、PHPを実行してapc_fetch()を呼び出すよりはるかに高速です。 PHPからHTMLページを生成する方が速いのか、PHPを使ってAPCから生成された結果を取得するのかは、PHPがどれくらいの労力を要しているのかによって決まります。

<?php 
print "hello world"; 
?> 

は、私はまだファイルシステムを使用する場合と比較してAPCキャッシュを使用するときにApacheが静的なページを読み込むことができながら、ベンチマークは、4倍速アップを示さない理由として取得しておりません

<?php 
print apc_fetch('hello'); 
?>