• 締切済み

Apacheのファイル転送の優先度を下げたい

Apacheを使ってます。 巨大なファイルfoo(タイプはoctet-stream)がありまして,Webブラウザからダウンロードできるようにしています。だがダウンロードが始まるとApacheの操作が遅くなってしまう。ので,ファイル転送のプロセス(スレッド)だけ,優先度を下げて,他の操作は使えるようにしたいのです。少々負荷を軽くしたいわけではなく,完全に優先度を下げたいので,負荷を軽くするlighttpdは効果ないと見ています。 ファイルへのリンクをブラウザでクリックしたとき,ブラウザに「ダウンロードしますか」というダイアログがでてOK押してダウンロードが始まりますが,このダウンロード処理の優先度を下げるなどして,他のApacheの操作が滞らないようにしたいのですが,可能でしょうか。 niceコマンドだと,Apache自体の優先度を下げるので,ダウンロードだけじゃなく通常の操作も下がってしまいますよね

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.1

画面表示かファイルへの保存かはブラウザが決めていることであって、サーバー側ではあずかり知らぬことです。つまり区別できません。 Apacheを改造せずにやるとすると、ダウンロード用のリンクをftpにして、ftpサーバーの優先度を下げるのでしょうか。しかし、Linuxで制御できるのはCPUの優先度だけなので、どこまで効果が出るかわかりません。

関連するQ&A

  • スレッドの優先度を下げる方法。

    現在バックグラウンドでファイルアクセスを行うプログラムを組んでおります。 しかしこの読み込みのスレッドのCPU占有率が高いためか、バックグラウンドで 読み込んでいるのに関らず、その他の処理が重くなってしまいます。 この問題を解決しようとファイルアクセスの合間にSleepを挟みましたが 一度にファイルアクセスしている時間が長いためかあまり効果が目に見えません。 できたら平均的に負荷がかかるようにしたいのです。 何か解決方法はないでしょうか? 今考えていることは次の二つ(三つ)です。 1.ファイルアクセスを分割して負荷を下げる。 2.何らかの方法でスレッドの優先順位を下げる。 (3.ファイルアクセス自体の負荷を下げる???) 1が一番現実的かと思っています。 2の方法はプロセスの優先度を下げるソフトを目にしたことがあったので 思いついたのですが、そのような関数が今のところ見当たりません。 3は、そういうものがあるのだろうか?というレベルです。 もしあったら積極的に使いたいと思います。 できたら2の方法で解決したいと思っております。 これに関して何かご存知の方がいらっしゃいましたら、ご教授よろしくお願いします。 VC9+XP sp3にてプログラミングを行っております。

  • PHPでのファイルダウンロードについて

    初めて質問させていただきます。 社内用でファイルのアップロード・ダウンロードができるシステムを開発しています。 PCからは問題なくアップロードもダウンロードも行えていたのですが、 スマホからアクセスしてダウンロードをすると失敗してしまいます。 下記のコードを使ってます。 ファイルの種類はいろいろなので、「application/octet-stream」にしてます。 が、それぞれのファイルタイプに合わせて変更させても状況は変わりませんでした。 -- header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); header('Content-Length: '.filesize($dl_file)); readfile($dl_file); exit; -- なにか解決策があるようでしたら、教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • htmlファイルなのになぜかダウンロードwindowが出てしまう。(apache2.0)

    red hat linux7.3でapache2.0をインストールしました。/etc/local/apache2/htdocs/***/index.html というファイルがあります。これをネットワーク上のPC(windows)・IE6.0で見ると「このファイル(***)をダウンロードしますか?」というwindowが出てしまいます。どこをいじれば正常な画面が出るでしょうか。index.htmlファイルですが、ただのHTMLファイルでcgiもなにもありません。ちなみにホストPCのブラウザ(KDEのkonquerだったかな)ではちゃんと見ることができました。

  • 画像をダウンロードさせたい。

    いろいろなファイルがサーバーにあがっているとして、 その一覧が<a href="">ファイル名</a>で表示されているとします。 ファイル名を押下した時にダウンロードさせたいと思っています。 -------------------------------------------------- header("Content-Disposition: inline; filename=".$fileDlName); header("Content-Length: ".$fileDlSize); header("Content-Type: application/octet-stream"); readfile($filePath) ------------------------------------------------- ↑でCSV,PDF,ZIPファイルなどはダウンロードできるようになりました。 が、JPEG,GIF,PNGなどはブラウザに表示されてしまい ダウンロードできません。 画像も強制でダウンロードさせたいのですがよい方法はありますか?? ブラウザ:IE7 PHP:5.2.3 Apache:2.0.59 以上、よろしくお願いいたしますm(_ _)m

    • ベストアンサー
    • PHP
  • バイナリファイルをブラウザに表示させる時のタイトルバーについて

    バイナリファイルダウンロードに関して伺いたいことがあります。 PHPでバイナリファイル(ExcelやPDF)をブラウザ内にダウンロードさせる場合は、下記のような設定をするかと思います。 header('Content-Type: application/octet-stream'); header('Content-Description: '.$filename); header('Content-Disposition: inline; filename='.$filename); このようにしてブラウザ内での出力は可能なのですが、 この場合ブラウザのタイトルバーにURLが出力されます。 URLはセキュリティ上、表示したくないようなケースの場合 何か設定方法はあるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • CSVファイルのダウンロードについて

    現在開発しているシステムでCSVファイルをダウンロードしたいのですがうまくいきません。どなたか問題の解決できる方お願いします。 現在、CGIでCSVファイルを作成しておきそれをファイルのリンクからダウンロードさせようとしています。 そこで問題になっているのがIEのバージョンが6以前なら普通にダウンロードが出来るのですが、バージョン6だとEXSELがブラウザ内で立ち上がります。 これの回避方法(まずダウンロードをしたいです。)はありませんか? 現在ファイルのヘッダーはこのようにしています。 print "Content-type: application/octet-stream\n" ."Content-Disposition: attachment; filename=aaa.csv\n\n" あと、このCGIプログラムをネスケ、mozillaで開くとソースがブラウザに表示されてしまいます。IEでは問題なく表示されるのにネスケとmozillaはどうしてこんなことが起きるのでしょうか? 少しわかりずらい文章になってしまって申し訳ありません。 どなたかお力を貸してください。お願いします。

    • 締切済み
    • CGI
  • ファイルのダウンロードダイアログが2度表示される

    いつも拝見させて頂いており、お世話になっています。 ただ今困った事象が発生していて、お知恵をお借りしたく、投稿させて頂きます。 サーブレットで CSV データを作成し、直接データをダウンロードさせたいのですが、 OSが「WindowsXP SP1(SP2では未確認)」だと、ファイルのダウンロードダイアログで ”開く”を選択すると、同じダイアログが 2度表示されてしまいます。 (2度とも”開く”を選択すると、問題なくファイルは開かれます) ”保存”を選択した場合は2度は表示されません。 また、「Windows2000」の場合はこのような現象は発生しません。 ソースの要所は以下のようになっています。 response.setContentType("application/x-download;charset=Windows-31J"); response.setHeader("Content-Disposition", "attachment; filename=\"***.xls\""); 上記の1行目の「x-download」は「octet-stream-dummy」「msexcel」で 試してみましたが、結果は変わりませんでした。 また、2行目の「attachment」を「inline」にすると、 2度ダイアログが表示されるのは回避できますが、”開く”を選択すると ブラウザにExcelファイルの内容が表示されてしまいます。 もしかするとプログラムではなく端末の設定の問題かもしれませんが、 手元には2000とXPが1台づつあるだけなので、 これもなんともいえません。 どなかた解決方法をご存知の方がおられましたら、 御教授頂けますでしょうか。 よろしくお願いします。

  • apacheがうまく動きません

    お世話になります。自宅のPCにRedHat8.0をインストールしたのですが、 httpdを起動してブラウザからhttp://localhostとしても 何度やってもForbiddenとなります。これはアクセス権がないという 意味なのでしょうか?(rootで作業しています) うまくいかないので一度、rmp -ev apache apacheconf などモジュールごとアンインストールしました。(rmp -e apacheではパッケージがインストールされていないとでるため) その後、apache1.3.27最新版をダウンロード。make installでインストール成功 とでた後、再びブラウザからhttp://localhostとすると一度だけ apacheのテスト画面がでました。がその後はForbiddenとなります。 これはhttpd.confの設定がわるいのでしょか?http.confはひとつだけです。 ドメインを取得したのでその設定をほどこしたからでしょうか? 基本的な記述以外はいじっておりません。 よろしくお願いいたします。

  • apacheサーバでphpが表示できない

    php初心者です。 apacheサーバでphpファイルを表示させたいのですが、うまくいかず困っています。OSはwindowsXPです。 phpのインストールはうまく言っているみたいでdosで C:\php>php foo.php Hello となりります。apacheサーバ(Apache/2.2.4 (Win32))自体は動いていて、 http://www.php.net/downloads.php から PHP 5.2.1 installer [19,568Kb] - 12 Feb 2007 をダウンロードする際に、自動的に設定を行いました。"httpd.conf"と"mime.types"ファイルが書き換えられているようです。 phpのフォルダにPathを設定して、サーバの再起動もしているのですが、index.phpを開くとphpファイルのダウンロードになってしまいます。"php.ini", "php5ts.dll"は書き換えず、別のフォルダにも動かしていません。 アドバイスをいただけないでしょうか。お願いします。

    • 締切済み
    • PHP
  • ファイルのダウンロードが出来ない

    こんばんは。お世話になっております。 CSVファイルをダウンロードさせるスクリプトを作成したのですが、そのスクリプト(ファイル)を、さくらインターネットのサーバへアップすると「ダウンロードせずにブラウザに表示されるだけ」という状態になってしまいます。(ローカル上や別サーバでは問題ない) ファイル上に記述する、Headerですが、サイトによっていくつかの記述方法があったので、以下のように2種類のHeaderを試していますが、共に「さくらインターネットだけがダウンロードしない」状況です。 ファイルをダウンロードさせるスクリプトは、今回初めて作ってみたのですが、他にどのような対処法があるのかが分かりません。考えられる可能性だけでも結構ですので、アドバイスいただけると幸いです。 //Header("Content-type:application/x-csv;"); //header("Content-Disposition: inline; filename=$fname.csv"); header("Content-Type: application/octet-stream;"); header("Content-Disposition: attachment; filename=$fname.csv"); 以上、お忙しい中恐縮ですが宜しくお願いいたします。

    • ベストアンサー
    • PHP