![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
No.2ベストアンサー
- 回答日時:
>キャッシュの設定はGDで行うのでしょうか、それともApache側でしょうか。
GDやApacheだけでは難しいかもしれません。
アプリケーションのコード側で対応できます。
以下はイメージです。
$params = array("x" => "x"); // 出力画像を決定できるパラメータ
$cachePath = "..."; // $paramsを元に保存パスを一意に決定
if (!file_exists($cachePath)) {
// キャッシュが無い時だけ実行して$cachePathに出力
outputImage($params, $cachePath);
}
// 保存済み画像を出力する
readfile($cachePath);
上記とは別に定期的にキャッシュを削除する処理も必要になります。
HTTPリクエストに対して画像を直接返却してる構造なら、キャッシュ可能なリバースプロクシを上手く挟めばアプリ側の修正を入れずに対応もできそうです。
#PHPとは離れますが…
No.1
- 回答日時:
基本的な手法として出力のキャッシュがあります。
全く同じ画像を生成するケースが多いならこれでかなり改善すると思います。
まだ試してないので効果があるということではないですが、個人的には以下のことを試してみたいと思いました。
・サムネイル作成のみとかならGDではない他のライブラリを使ってみる
・画像にTTFフォントで文字を書き込んでるなら、それを透過PNGに予め書いておいて重ねるだけで済むようにしておく
・携帯に不要なほど大きい画像を素材として読み込んでるなら、素材を事前に必要最低限に縮小してみる
・同様に事前にできる処理があるならやっておく
・Apacheのプロセス上ではなく、新規にPHPプロセスを立ち上げてそっちで処理してみる and/or Apache MPMの調整など
この回答への補足
色々なアドバイスありがとうございます。
一番気になるのが、基本的な手法としての出力キャッシュです。
可能であればサーバー上に画像のキャッシュを保持して、それ以降のアクセスはキャッシュを参照するようにしたいです。
キャッシュの設定はGDで行うのでしょうか、それともApache側でしょうか。
サーバーに関して浅学なので具体的な対処法を教えて頂けると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン ゲーミングデスクトップPCでマインクラフトなどの比較的負荷が軽いゲームを録画・編集・エンコードしてY 3 2023/02/09 21:44
- ソフトウェア エクセル_データ処理_変化点検出について 1 2022/09/20 18:25
- 自転車修理・メンテナンス インチアップタイヤ 標準と違いますが ロードインデックスで空気圧を決めていい? 1 2022/12/24 21:27
- その他(暮らし・生活・行事) 電動草刈機 稼働時間について 5 2023/08/26 18:30
- HTML・CSS WEBサイト 画像の直接リンクについて 1 2022/11/16 10:41
- その他(ヘルスケア・フィットネス) 24歳、174cm、60kgの男です。 ジムに通っているのですが、 エアロバイクを使う際、負荷はどれ 3 2022/06/10 15:17
- 工学 直流モーターにかける電圧を上げると、モーターの回転数が上がるってどんな理屈? 7 2023/04/03 06:20
- MySQL データベースの検索で、この場合、どの程度負荷になりますか? 3 2022/04/11 04:45
- Excel(エクセル) Excel 在庫管理について 3 2023/02/09 10:00
- その他(コンピューター・テクノロジー) 以下の用語がわかんないので教えてください!!! ①プロトコルの変換をする装置。トランスポート層からア 1 2023/07/05 09:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画像アップロードのファイル名...
-
VBSの「MsgBox」について
-
Illustratorで文字と画像を流し...
-
VBAでJPGサイズ変更
-
ChatGPTに作らせたい Excel VBA
-
GDを使って画像の背景を透過さ...
-
GDの画像変換でサーバーに負荷
-
DBに格納された画像データを縮...
-
アップロード画像数でCSSを分け...
-
透過PNGが透過されない!!
-
php,mysqlにて画像パス保存/表...
-
C# Excelファイルへの画像挿入。
-
拡張子php画像をjpg画像等に変...
-
エクセルでカレンダーマクロの...
-
フォントの色を変えるには?
-
pearのMailライブラリがうまく...
-
PHPで新しいウインドウで開く命...
-
phpファイルの編集について
-
Subversionのリポジトリの削除
-
centos6のlogにscript not foun...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの「MsgBox」について
-
VBAでJPGサイズ変更
-
拡張子php画像をjpg画像等に変...
-
透過PNGが透過されない!!
-
SQLiteに画像を格納したい
-
アップロード画像数でCSSを分け...
-
PythonのTkinter詳しい方へ。画...
-
ビットマップ画像を読み込むプ...
-
Illustratorで文字と画像を流し...
-
C# Excelファイルへの画像挿入。
-
php,mysqlにて画像パス保存/表...
-
pictureboxに表示した画像のフ...
-
OpenGLで描いて画像ファイル出力
-
ListViewコントロールでサムネ...
-
BLOBデーターの画像の表示方法...
-
「imagejpeg」(GD)で作成した...
-
【PHP】画像が表示されず「×」...
-
PHP MySQLに画像を直接保存
-
GDを使って画像の背景を透過さ...
-
★PHP★画像アップロードの際に余...
おすすめ情報