kurosuke さん、テスト報告ありがとうございます。
tosri さん、アドバイスありがとうございます。
kurosuke さんが書きました:
一般家庭での利用です。プロバイダはniftyを利用しています。有線LANです。
家庭に引いているインターネット回線(光ファイバー?)に、有線 LAN を経由して PC を接続しているというお話でしょうか。
(確率的に考えて、ADSL とかケーブルテレビの回線を使っている可能性よりは、光ファイバー回線かな、と...。)
kurosuke さんが書きました:
試しに新しいノートパソコンを無線LANで接続してみました。
上記とは別のノート PC を、上記の家庭用インターネット回線に、家庭用の "無線 LAN ルーター" 経由で接続したというお話ですか。それとも、上記の回線とは別に、"公衆無線 LAN" でインターネットに接続した、というお話ですか?
いずれのケースかによっては、もう少し考慮すべきことがあるかもしれませんが、このお話からすると有線 LAN で使っているルーターなどの機器がボトルネックになっている可能性が考えられそうですね。
前便で挙げた過去の事例でポイントになった部分は、about:config からたどれる network.tcp.sendbuffer の項目です。
この値を小さくすることで問題が解決された事例がありました。
大きめのバッファ値で遂行される Firefox 側の処理に対し、お使いの回線自体やルーターの処理能力が追いついていなくて、その部分で処理が滞ってしまう状況があるのなら、Firefox のバッファ値を小さくして処理を少しずつ進行させるように変更することで、ボトルネックとなっている部分で発生しているかもしれない処理の滞留を解消できるかもしれません。
しかし現在、この項目の初期値は 131072 で、Firefox 38.4.0 と 42.0 の両方とも同じ値です。
もしこの設定値が原因になっているとしたら、同じ環境条件下にある 38.4.0 ESR からもアップロードできないことになりますが、テストなさった限りではアップロードできたとのことですから、今回の件ではこの項目を変更することでの改善はあまり期待できないかもしれません。
状況証拠を追いかけてみる限りでは原因が見えてこないのですが、だからといってテストもしないで結論づけることはできませんし、手をこまねいていても仕方ありません。なので、少なくとも Firefox 側でテストできることは、一通りやってみたほうがいいのではと思います。手間もそんなにかからないはずですし...。
過去の事例にならうなら、about:config から次の設定項目の値を確認し、数値を減らしてみてください。
network.tcp.sendbuffer
network.http.spdy.send-buffer-size
どちらも初期値は 131072 のはずです。とりあえず半分の 65536 に変更し、Firefox を再起動した上で、アップロードを試してみてください。(必要なら、さらに半分の 32768 も試してみる。)
これで改善できるなら、kurosuke さんの「一般家庭での利用です。プロバイダはniftyを利用しています。有線LANです」の条件下では、その値で使うことが選択肢になると思います。
しかし、これでも改善されないなら、もともと上述のような事情があるわけですし、別に原因がある可能性がより明らかになったと考えられます。
tosri さんが書きました:
network.http.response.timeoutの値をuploadする時間以上に設定すればうまく行くかもしれません。
私は3600(1時間)に設定してます。
たしかに、Firefox がタイムアウト(時間切れ)と判断するまでの時間を長く取ることで、タイムアウトエラーの表示を回避できるかもしれませんが、長くしなければエラーになってしまう原因そのものを解決することにはなりません。
しかしながら、原因を探り当てられず、したがって本質的な改善策を施せないなら、次善の対策にはなるかもしれません。
network.http.response.timeout は、サーバー側の応答がない(あるいは遅い)場合、タイムアウトと判断するまでの時間指定だったと思います。
この他、しばしばタイムアウト対策に使われる設定項目には、network.http.keep-alive.timeout というのもあります。こちらは、定期的なキープアライブ通信の応答に関してのタイムアウト時間の設定です。どちらも単位は「秒」です。
何が原因でタイムアウトが発生しているかによって、どの設定値を変更すれば回避策になるかは変わってくると思います。
いずれも、あまり極端に大きな数値(=長い時間)にしないことをお勧めします。
何かしらのテストをおこなうのでない限り、せいぜい十数分まででしょう。それ以上にしないと正常な動作をしないのなら、むしろその原因を根本的に解決することに注力したほうがいいと思います。
タイムアウトまでの時間を長めにとることで効果が期待できるのは、遅れながらでも処理が進んでいる場合です。完全に応答が途切れてしまう原因(例:サーバーダウンなど)があってのことなら、タイムアウトまでの時間を長くとったところで結局はエラーになってしまいます。
このような場合、タイムアウト値の変更はエラー表示までの時間をいたずらに引き延ばすことになり、その間に Firefox は延々と無駄なトライを続けるようになります。ダメならダメでさっさと見切りをつけてエラーを出してくれたほうがいい場合も多いので、タイムアウトの時間変更の判断には注意が必要です。
(鎮痛薬で痛みを緩和することは急場しのぎになりますが、痛みの原因を放置したまま鎮痛薬に頼り続けるよりは、痛みを生み出す原因を除去できるなら、そのほうが根本的な治療になる ―― という話と似ているかと...。なので、いままで提案を控えておりました。)
試すのはかまいませんが、現状の倍の値にしてみて、それでもタイムアウトエラーが出るのなら、データのアップロードが滞る原因解決に注力したほうがいいのでは、と思います。
タイムアウトの設定値をどうするかは、ユーザー環境の実情と、設定後の動作がユーザーの許容範囲に納まるかどうかでご判断ください。
あまり有効なアドバイスができなくて心苦しいですが、ぼくの実力ではこのあたりまでが精一杯です。
ぼくが見落としている点があるかもしれません。引き続き、他のユーザーさんがお気づきのことがあれば、アドバイスいただけるとありがたいです。