最初に、私のバックグラウンドについて少し説明します。私はしばらくの間 (この時点で 10 年) プログラミングをしており、アイデアのコーディングに関してはかなり有能です。私はちょうど 1 年ほど前に Web アプリケーション プログラミングに取り組み始め、ありがたいことに nodeJS を発見しました。これにより、Web アプリの作成が従来のプログラミングのように感じられるようになりました。今、私はしばらくの間開発してきた node.js アプリを持っており、現在は Web 上で運用されています。私の主な混乱は、私が Web 開発の世界に非常に慣れていないという事実から生じており、アプリケーションの監視に関して何が重要で何が重要でないかを本当に知りません。
私は Joyent SmartMachine を使用していますが、それらが提供する分析オプションを見ると、少し圧倒されます。非常に多くの異なるオプションと構成があり、各分析が実際にどのような目的を果たしているのかわかりません。以下の質問については、Joyent の Cloud Analytics に固有のものであろうと、完全に一般的なものであろうと、回答をいただければ幸いです。
質問 1
現在、私の主な関心事は、アプリケーションを実行しているサーバーをアプリケーションがどのように利用しているかを把握することです。アプリケーションに適切な量のリソースが割り当てられているかどうかを知りたいです。受信するリクエストの数によってサーバーが過負荷になるか、それとも追加のリソースが必要か? その目的のために、NodeJS アプリで注目すべき重要な分析は何ですか? (違いが生じる場合は、MongoDB と Redis の両方を別のサーバーで使用します)
質問 2
実稼働中のサーバーを管理する際に、一般的に確認することが本当に重要な統計は他に何ですか? 私は、継続的に実行され、多くのクライアントと対話する Web アプリとは対照的に、特定のことを行うために一度実行されるプログラム (たとえば、画像を計算すると実行を終了するレイトレーサー) に慣れています。長年のサーバー管理者には明らかなことが、私のような初心者には明らかでないことがたくさんあると確信しています。
質問 3
具体的に NodeJS を扱う際に注意すべき点は何ですか? NodeJS とより標準的なサーバー システムのシングル スレッド イベント ループを処理するときに特に重要になる統計/分析は何ですか?
データベースが方程式にどのように関与するかについて他にも質問がありますが、今のところはこれで十分だと思います...