インターネット
 Computer >> コンピューター >  >> ネットワーキング >> インターネット

FirefoxとElectrolysis(e10s)徹底検証 ― マルチプロセス化はすべてのユーザーに恩恵をもたらすのか?

Firefoxに本格的なマルチスレッド・サンドボックス環境を導入するという話題を扱った記事を、あなたも数多く目にしたことでしょう。バージョン4X後期から段階的に導入が始まったこの仕組みは、「Electrolysis」あるいは「e10s」と呼ばれ、セキュリティとパフォーマンスの両面で低迷しがちだったFirefoxに新たな息吹を吹き込むことを目的としています。

ただし、完全なサポートが全プラットフォームで有効になるにはまだ時間がかかります。しかもその成否は、Firefoxエコシステムの中核を担ってきた拡張機能(アドオン)の対応状況にも大きく左右されます。この新機軸があなたのマシンに届く前に、筆者がひと足先にプレビューし、実際に何が起こるのかを確かめてみました。これは、未来のFirefoxの一端を垣間見るサンプリングです。

注意:自宅環境での試用は推奨しません

Firefoxをマルチプロセスで動作させるには、いくつかの手動設定が必要です。Mozillaの方針では変更は段階的にロールアウトされるため、環境によってはすでに対象になっている場合もありますが、おそらく多くの場合は未適用です。最大の理由は、使用中の拡張機能がまだ対応できていないことでしょう。

試してみたい場合は、必ずテスト用マシン、そして可能ならテスト用プロファイルを使用してください。理想は両方の併用です。プロファイルのバックアップを必ず取り、Firefoxが不調になったときに自力で修復できる自信がある方のみ進みましょう。

準備ができたら、対応バージョンのFirefoxで新しいタブを開き、「about:support」と入力します。このページには、ブラウザが現在何をサポートし、どのように動作しているかが表示されます。かなりマニアックな情報ですが、ここで「Multiprocess Windows(マルチプロセスウィンドウ)」の項目を確認してください。おそらく「0/1(Disabled by add-ons/アドオンにより無効)」のような表示になっているはずです。

Electrolysisを強制的に有効化する手順

Electrolysisを手動で有効にするには、最低1つ、場合によっては2つの設定変更が必要です。まず隠しページ「about:config」を開き、新しい真偽値(boolean)設定として「browser.tabs.remote.force-enable」を追加し、「true」にセットします。その後ブラウザを再起動してください。

本当に動いているのか?

ブラウザ自身は「有効」と答えるかもしれませんが、どうすれば確認できるのでしょうか。筆者が再起動後に状態をチェックしたところ、依然として単一プロセス+plugin-containerという子プロセス1個の構成のままでした。それぞれのプロセス内には多数のスレッドが存在しましたが、Firefoxの挙動を少し調べたことがある人なら、これ自体は珍しいことではありません。

冒頭で触れた「2つ目の変更」の出番です。この変更は推奨されるものではなく、サポート対象からさらに遠ざかり、実装度の低い機能をテストすることになります。しかし、この設定によりFirefoxが生成できる子プロセスの数を増やせます。もちろん、プロセスが増えるごとに複雑さとメモリ消費量も増加します。

2つ目の変更は「dom.ipc.processCount」設定で制御されます。デフォルト値は1ですが、任意の数値に変更できます。筆者のおすすめは2のべき乗で増やし、物理CPUコアの総数を超えない範囲に抑えること。ハイパースレッディング有効ならその2倍までが目安です。現時点では、この程度に留めるのが賢明です。

この変更を行ってブラウザを再起動すると、確実に複数の追加プロセスが確認できるはずです。なお、筆者のテストはWindows 10上で実施しました。今後は他のWindowsバージョンや各種Linuxディストリビューション、64ビット版Firefoxへもテストを拡大していく予定です。「なぜ今すぐ全部やらないのか」と思う方は、あの名言を思い出してください――「ローマは一日にして成らず」です。

改善されたのか?

果たして効果はあったのでしょうか。技術的には「イエス」です。メモリ使用量はほぼ横ばいでしたが、これはワークロードにも大きく依存します。ほとんどのユーザーは大きな違いに気づかないでしょうし、重いJavaScriptを多用するページなら10〜20%程度のメモリ増加は誤差の範囲内です。CPU使用率についても、劇的な変化はありませんでした。動作は安定しており、ただし今回はAdblockとCTRの2つの拡張機能だけを入れたテストプロファイルなので、さらに長期間の検証が必要です。パフォーマンス面でも体感差はわずかでした。

要するに、「心を揺さぶるような革命」はなかったということです。しかしそれこそがポイントなのです。もしブラウザが遅いと感じているなら、それは使い方に問題がある可能性が高い。優れた技術の美しさとは、ユーザーに存在を意識させない透明性にあります。いつの日か、多くの人にとってFirefoxが少しだけキビキビと、少しだけ速く動くようになる――それを気にするのはオタクたちだけです。そもそも人々がChromeへ流れたのは速度のためではありませんでした。ですが、それはまた別の話。

まとめ

テストと調整、そして不完全ながらも着実に進む展開の初期段階において、Electrolysis搭載のFirefoxはまずまず良好な挙動を示しました。もちろん、これはテスト環境での話であり、本番環境での採用を推奨するものではありません。やや複雑な設定作業を除けば、期待通りの予測可能な結果が得られました。

一方で、革命が起きたわけではありません。メモリとCPU使用率は以前とほぼ同等で、パフォーマンスも同様。その一方で、テスト期間中はクラッシュフリーの安定した体験が得られたのは幸いでした。セキュリティ分離やマルチプロセス化の真のメリットは、さらなる改良と最適化が加わり、ユーザーが本格的にこの機能を使い始めた後にようやく明らかになるでしょう。それでも、これは間違いなく正しい方向への正しい一歩です。Firefoxには新鮮なビタミン剤が必要であり、Electrolysisはまさにユーザーが求めているものかもしれません。

今回が最初のテストですが、決して最後ではありません。それではまたお会いしましょう。そして、筆者の所見は「大きめにつまみ食塩」して受け取ってくださいね。

それでは、また。

  1. Firefox拡張機能「Personas」でブラウザに彩りを添えよう

    Personasは、ブラウザに手軽なテーマ機能を追加できるFirefox拡張機能です。セキュリティを強化したり経済危機を解決したりするようなものではありませんが、日々のウェブ生活 routine に彩りとちょっとした楽しみをプラスしてくれます。Personasが生まれた背景には、「良質なテーマはなかなか見つけにくい」「ブラウザはもはや単なるウェブページ表示ツールではない」という考えがあります。より統合されたウェブ体験への需要が高まる中、この拡張機能は新たな選択肢を提供してくれるのです。Personasを入手するPersonasは拡張機能として提供されており、公式サイトからダウンロードできます。

  2. Firefox拡張機能「Perspectives」で実現する、より安全なWebブラウジング

    情報セキュリティの根幹を支えるのは、「C-I-A」と呼ばれる3つの概念です。機密性(Confidentiality)、完全性(Integrity)、可用性(Availability)——セキュリティは、この基本原則に基づいて成り立ち、あるいは崩れていきます。 日常的にWebを閲覧しているだけなら、今訪れているサイトが本当にそのサイト本人なのかどうかを、それほど気にすることはないでしょう。しかし、サイトとやり取りを行い、機密情報を入力しなければならない場面では、C-I-Aが極めて重要になります。 暗号化だけでは足りない「完全性」の問題 機密的な取引を第三者に盗み見されないようにするために生まれ