ホームページ  >  記事  >  システムチュートリアル  >  Linux プロジェクト: プロジェクトに新たな命を吹き込む

Linux プロジェクト: プロジェクトに新たな命を吹き込む

王林
王林転載
2024-01-03 15:54:14561ブラウズ
###導入### プロジェクトの初期段階で公開での失敗があった後、著名な大学の IT チームは Web 登録システムを Linux に展開することを決定しました。これにより、サーバーの最大ユーザー アクセス数がほぼ 3 倍になりました。 ###原因### 1998 年、私はミネソタ大学の新しい Web チームで働き、サーバー管理グループを管理していました。ミネソタ大学は非常に大規模な大学であり、各機関に約 6,000 人の学部生がいます。当時、この学校では生徒記録管理システムとして古いメインフレーム システムを使用していましたが、このシステムは時代遅れだったため、変更が必要でした。

このシステムは Y2K タイプではありません (LCTT 変換: 年を保存するときに 2 桁のみを使用するため、コンピュータは 2000 年を 1900 年として記録します。詳細については、Y2K 準拠の意味を参照してください)。 PeopleSoft Software Corporation で構成されるシステムが、新しい学生記録管理システムを提供するようになりました。この新しいシステムはミネソタ大学にとって多くの成果をもたらし、学生の記録を管理するだけでなく、他の機能も提供します。ただし、重要な機能が 1 つ欠けています。それは、ブラウザーから Web 経由でクラスを登録できないことです。

今日の標準からすると、これは大きな見落としですが、1990 年代には、インターネットはまだ初期の概念でした。 Amazon は設立されたばかり、eBay は設立して 1 年、Google は誕生したばかり、Wikipedia はまだ誕生していません。したがって、PeopleSoft が 1998 年に Web 上でのコースのオンライン登録機能をサポートしていなかったのも不思議ではありません。しかし、ミネソタ大学は Gopher ネットワークの発祥の地であり、以前のメインフレーム システム用の一連の Web 機能インターフェイスを開発しているため、この新しい学生記録管理システムには Web オンライン登録機能が不可欠であると考えています。

この Web チームの私たちの仕事は、この管理システムの Web オンライン登録機能を実装することです。

幸いなことに、私たちは一人ではありません。私たちは IBM に連絡し、2 年目にこの新しい Web オンライン登録システムの構築に協力し始めました。 IBM は、Web システムを実行するためのハードウェアおよびソフトウェア環境を提供する責任を負います。最新の AIX システム (UNIX 系オペレーティング システム)、IBM Java および IBM WebSphere プラットフォームを実行する 3 つの SP コンピューター ノード、および IBM ロード バランサーを使用して 3 つの環境を実装します。ノードの負荷分散。


Linux プロジェクト: プロジェクトに新たな命を吹き込む1 年以上の開発とテストを経て、私たちのシステムはついにオンラインになりました。しかし、残念ながら失敗が続きました。

負荷が大きすぎます

開発プロセス中、多くの学生が同時にログインする実際のシナリオを正確にシミュレートしてテストすることができませんでした。その理由は、テスト環境がないからではありません。ミネソタ大学にはカスタマイズされた Web 負荷テスト ソフトウェア パッケージがあり、IBM にはそれを補完する独自のツールがあります。しかし、この Web システムは当時、私たちにとって非常に馴染みのないものでした。これらのテストツールが要件を満たすことができないことに気づいていませんでした。

数か月にわたるテストの後、この Web システムの予想負荷を 240 人の同時ユーザーに調整しました。しかし、残念なことに、実際の使用量は予想の約 2 倍でした。システムがオンラインになった初日には、すぐに 400 名を超える学生が同時にシステムにログインしました。予想をはるかに超える負荷があったため、3 台の Web サーバーが稼働しました。直接ダウンしました。マシン。高負荷が継続したため、サーバーはクラッシュし続け、常に再起動する必要がありました。 1 台のマシンが再起動した直後にもう 1 台がクラッシュし、再起動するという状況が実に 1 か月間続きました。

Web では登録を効率的に行うことができないため、学生は登録事務所に来てペンで登録し、外出するという従来の方法でのみ登録することができます。地元の新聞も「コンピュータソフトウェアの故障により、学生は対面で登録することになった!」とほくそ笑んで嘲笑した。


失敗という事実に直面した私たちは、次の開発サイクルでソフトウェアのパフォーマンスを向上させるために最善を尽くし、その後 6 か月間、このシステムの負荷容量を強化することに必死に取り組みました。さらにコードを追加し、複数の構成を調整したにもかかわらず、さらに多くのユーザーをサポートできませんでした。私は最善を尽くしましたが、それでも失敗に直面しました。 Linux プロジェクト: プロジェクトに新たな命を吹き込む

予想どおり、次の反復サイクルの後も、依然として失敗に直面しました。負荷の問題により、サーバーが何度もダウンしました。今回は見出しが「Web登録システムはゴミ」に変わりました。

次の 6 か月間の反復を開始する前に、私たちは必死でした。サーバーがダウンし続ける理由は誰も知りませんし、この問題は現時点では解決できないとすでに予想されています。この問題を解決するには何らかの対策を講じる必要がありますが、どうすればよいでしょうか?議論の様子は次のとおりです。

新しいプラットフォームに切り替える必要がありますか?

IBM は当時 Linux を導入し、Java および WebSphere プラットフォームの二次開発を行っていました。すべての製品は Red Hat によって RHEL 認定されており、いくつかの製品はすでに Red Hat のデスクトップ システムで実行されています。 Web 管理システムを実行するための完全なエコシステムが Linux 上にあることはわかっていますが、パフォーマンスは AIX よりも優れているのでしょうか?

テスト サーバーをセットアップし、基本的な負荷テストを実施した後、同じ Web コード (IBM Java と以下) を使用して、以前の 3 つの AIX サーバーがサポートできなかった負荷を Linux サーバーが簡単にサポートできることがわかり、驚きました。 WebSphere プラットフォームでは、単一の Linux サーバーで 200 を超えるユーザーをサポートできます。

私たちはこのニュースをレジストラと CIO に伝え、Web 登録システムを Linux プラットフォームに切り替えることに同意しました。ミネソタ大学で Linux を実行するのは初めてですが、失敗は習慣になっており、もう恐れることはありません。 AIX は失敗するでしょう。Linux が唯一の希望です。

早速Linuxベースで開発していきます。別のグループの同僚も、私たちが使用できるようにいくつかの Intel サーバーを提供してくれました。私たちは、そのサーバーに Red Hat システムと関連する IBM コンポーネントをインストールし、新しいシステムで継続的な負荷テストを実施しました。嬉しいことに、Linux サーバーには問題はありませんでした。 。

2 か月にわたる集中的な開発とテストを経て、新しいシステムがついにオンラインになり、大成功を収めました。大きな負荷がかかっても、Web 登録システムは Linux 上で問題なく動作します。同時にオンラインにアクセスしたユーザーの数は、ピーク時には 600 人を超えました。 Linux がミネソタ大学の Web 登録システムを救う~

成功体験

このプロジェクトを振り返ると、チームに Linux を導入するには次のポイントを活用できることがわかります。

1. 自分自身をだまさないで問題を解決してください 私たちが企業での Linux の使用を提案したとき、それは Linux がクールだと思ったからではありません。もちろん、私たちは Linux 愛好家であり、独自の環境で Linux を実行していますが、問題を解決するために会社にいます。私たちが Linux を使用できるのは、Linux がクールで私たちが使いたいからだけではなく、レジストラと資金提供者が Linux が問題の解決策であることに同意しているからです。

2. 変更はできるだけ小さくする 私たちの成功は、IBM がすでに Linux ベースの Java および WebSphere 製品を作成しているという事実に基づいています。これにより、あまり多くの変更や適応を行うことなく、Web システムを AIX から Linux に切り替えることができます。この 2 つと比較すると、ハードウェアとオペレーティング システムのみが変更されており、他のシステム関連コンポーネントは一貫したままであり、これらがプラットフォームの切り替えを成功させるための基礎となります。


Linux プロジェクト: プロジェクトに新たな命を吹き込む
Linux プロジェクト: プロジェクトに新たな命を吹き込む

3. リスクと利益について正直になる 私たちの問題は明らかです。Web 登録システムは最初の 2 回の反復で失敗し、おそらく再び失敗するでしょう。私たちのアイデア (AIX から Linux に切り替える) についてスポンサーに伝えたとき、私たちはそれに伴うリスクと利益を十分に認識していました。何もしなければ失敗するだけですが、Linux プラットフォームに切り替えようとすると成功する可能性があり、最初のテスト結果から判断すると、失敗するよりも成功する可能性の方が高くなります。

また、Linux プラットフォームでプロジェクトが依然として失敗した場合でも、すぐに AIX サーバーに切り替えることができます。これらの慎重な分析と対策により、レジストラは最終的に安心して Linux を試せるようになりました。

4.簡潔かつ簡潔に伝える プロジェクトプラットフォームを切り替える過程で、私たちは全体的な計画を立てました。私たちは何をする予定なのか、そしてその理由を白紙の紙に正確に書き留めました。このアプローチの成功の鍵は、計画のシンプルさです。リーダーは技術的なアイデアを小説のように読むことを好みませんし、技術的な詳細に行き詰まりたくありません。そのため、意図的に実行レベルで計画を立て、フレームワーク レベルで説明します。

プラットフォームを切り替える場合、現在の進捗状況を投資家に定期的に通知します。新しいシステムが正常に完成したら、システムを通じて登録に成功した学生の数と発生した問題について報告する毎日の更新情報を提出します。

このプロジェクトから 20 年近くが経過しましたが、学んだ教訓は今日でも重要です。 Linux はこれにおいて重要な役割を果たしていますが、最も重要なことは、共通の問題を解決するという全員の目標をうまく方向づけることができたことです。この経験は、いろいろな事に応用できると思います。


以上がLinux プロジェクト: プロジェクトに新たな命を吹き込むの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。