• 締切済み

大量同時アクセス対応のNode.jsを実現したい。

PM2 or forever+nginx+Node.jsで実現できるのは、マルチスレッド?もしくは、シングルスレッド+イベント駆動。もしくは、マルチスレッド+イベント駆動が可能になるのでしょうか? どなたか解る方に、教えて頂ければ幸いです。 参考記事、 http://blog.shonanshachu.com/2013/07/nodejsforeverpm2.html?m=1 その2 http://blog.ohgaki.net/use-all-cpu-cores-with-sails

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5085/13292)
回答No.1

「シングルスレッド+イベント駆動」ですね。

関連するQ&A

  • レンタルサーバー1契約で、1WEBサイト?

    1つのレンタルサーバー契約で、複数のホームページを運営するのは、可能だと思います。 しかし2016年今流行りのNode.jsによるシングルコアのシングルスレッド + イベント駆動による、1万同時アクセス可能なWEBサイトを、 このWEBサイトを仮想3コアで契約したレンタルサーバーで、3つ同時に運営する事は、あり得ないでしょうか? 商売として成り立つWEBサイトで、同時アクセスに耐えられても、システムメモリーが足りなくなることが、やはりあり得るとすると、 やはり、Node.jsのWEBサイトだとしても、 1つのレンタルサーバーで、1つのWEBサイトが一般的でしょうか? あまりコストパフォーマンスが良く無い様ですが、コア数、システムメモリーを指定するクラウドで契約するのもが一般的なのでしょうか?

  • node.jsを始めたいが、うまくできない

    http://libro.tuyano.com/index3?id=1116003&page=3 このページを参考にnode.jsを入門したいと思っています。 node.jsのコマンドプロンプトに「cd Desktop\node.js-sample\」 を打ち込んで、「node sampleapp.js」も打ち込んだのですが、Server running!!はでません。 勿論、Desktop\node.js-sample\sampleapp.jsというふうに設置しています。 Desktop\node.js-sampleではなくC:\Users\***\Desktop\node.js-sample も試しましたが、できませんでした。 node.jsのコマンドプロンプトは、 > cd Desktop\node.js-sample\ ・・・ この状態でとまっています。 何がいけないのか教えて下さい。

  • ubuntuに入れたhubotが動作しなくなった

    現在ラズパイのiot関連のソフトの勉強として、Nodejs + hubot + slackを使ってみています。 概ねこちらのサイトの内容を参考に勉強しています。 Raspberry PiでSlack Botことはじめ on @Qiita https://qiita.com/tomkimra/items/be33bd27587d3c6eaca5 手持ちのwindowsマシンにoracleのVirtualBoxに入れたUbuntuにNodejsとhubotなどをインストールしていき、slackの自アカウントとの間でping pongを行うことができるようになりました。 ping pongができるようになったので、forever設定 Node.jsでforeverを使ってスクリプトの起動を永続化する on @Qiita https://qiita.com/setouchi/items/0dcc5869e7eb0ab524ea それから、hubot scriptなどをつかってボットっぽい感じの動作をやってみようといろいろとやっていたところ、 $ bin/hubot   このコマンドで起動しようとしても次のようなエラーが出てきて全く起動できなくなってしまいました。 ERROR: npm is known not to run on Node.js v4.2.3 Node.js 4 is supported but the specific version you're running has a bug known to break npm. Please update to at least 4.7.0 to use this version of npm. You can find the latest release of Node.js at https://nodejs.org/ このエラー内容でググってみたところ、まったく同じような現象が起きたとの内容が質問サイトでもみつかりました。 https://www.nnn.ed.nico/questions/4131 現在UbuntuにインストールされているNode.js v4.2.3というVersionが古すぎるために起きている現象の可能性が高いとのことなのですが、Versionのアップデート方法がよくわかりません。 このエラーの解決方法をご教示頂きますよう、よろしくお願い致します。

  • Node.js を学びたいと思っています。分厚い本

    Node.js を学びたいと思っています。分厚い本もいいですが、 イベントにも出てみたいです。 2013年度のNode.jsについてのカンファレンスやセミナーなどのイベントを ご存知ないでしょうか? 勉強会系 以外でもかまいません

  • node.jsのシェル上で

    コンソール上でnodejsを起動してシェルとしてつかった場合 var x="グローバル変数"; console.log(x); //とするとグローバル変数と出力されます。 さらに console.log(this.x); //とするとグローバル変数と出力されます。 そもそもグローバル変数とはトップレベルコードにおけるオブジェクトのプロパティとあります。 ブラウザだと、トップレベルのスコープで定義した変数は alert(window . variable); でアクセスできます。 ですから、nodeコンソール上で xとっ宣言した変数がthis.xとトップオブジェクトとしてアクセスできることはわかったのですが これをコンソールではなく、jsファイルに描いてそれをnodeコマンドで実行した場合 ~$ node test.js といった具合に実行させた場合 どうも、undefindeと表示されてしまうのです。 これは何が原因でundefinedと出力されてしまうのでしょうか?

  • node.jsでバージョンが出て来ないのは・・

    Bracketsをインストールしたら付いてくるnode.jsですが、 node –v と入力してもバージョンが出て来ないのはインストールが不十分?だからですか? サイトによって記述はバラバラですが$マークとか %マークは必要ですか? 僕の場合先頭が「>」とか「・・・」になっています。

  • node.js使いドコロ

    node.jsでhttpでの応答をする簡単なものを作ってみたりしました。 ふと、これhttpに限って言えばapacheさんにお任せ出来ていた部分まで面倒見ないといけないから手順ばっかり増えてメリットあるんだろうか?と感じました。 スクリプト言語なので爆速ではないですよね。。。つーことは集計とかの計算に使えるわけでもなく? http://www.slideshare.net/tricknotes/nodejs-27589695 なども覗いて見たのですが結局わかりませんでした。 結局どういうシーンでの活躍が期待できそうor活躍しているでしょうか? さらっと表面しか見ていない状況での質問で申し訳ありませんが、よろしくお願いします。

  • Node.jsでいじれる範囲

    こんにちは Node.jsをサーバーにしてwebサイトを作りたいのですが、 あらかじめメモ帳にindex.htmlをつくってnode.jsを経由してブラウザで表示させるのでは、node.jsからそのwebサイトをいじることはできないですよね? メモ帳で書いたものをのせるのではなく、 もっとがっちりとNode.jsからいろいろいじれる方法はないのですか?

  • Node.jsでajaxがうまくいかない

    nodejs初心者なのでよくわからずやっていて恐縮ですが、うまくいきません。 https://phpotameshi-hoto345.c9users.io/node-ajax/hello_ajax.html なのですがもともとはphpで送信ボタンを押したときにphpが実行されるものでしたが、これを少し改良してNode.jsでやってみようと思ったのですが、phpと違って <script src="scripts/hello.js"></script> のようにnodejsを読み込んでやれば同じ結果になると思ったのですがうまくいきません。 その前にローカルでもNode.jsは使えるようなので >node test.js Server running at http://localhost:8124/ のようにしてローカルでやってもhttp://localhost:8124/自体は問題なく立ち上がりtest.jsの中身は実行されたのですが、ajaxの方がうまくいきません。 ローカルでのNode.jsもServer running at http://localhost:8124/ となっていればNode.jsのサーバは起動しているので、 ローカルでhello_ajax.htmlを起動して、buttonを押せばajaxもnodejsも実行されるのではないでしょうか?

  • 非同期関数とノンブロッキング関数について(winsock)

    こんばんわ。 VC++.NETにてコンソール上でソケットプログラミングをしています。 非同期モードとノンブロッキング関数について知りたいのですが、私は、今までTCPやUDPでsendtoやsend関数を使用してきました。しかし、非同期やノンブロッキング関数があることを知り、詳しく知りたいと思っています。 1.非同期やノンブロッキング関数はGUI作成を行う上では重要であるが、コンソール上でプログラミングを行っている場合は利用しなくてよいのでしょうか? 2.以下のWSAAsyncSelect関数の第2引数の設定がわかりません。サンプルでは、hwndに関連付けられたウィンドウがSM_EVENTメッセージを受け取りますと記述されていますが、ウィンドウを利用していないコンソールアプリでの記述方法はありますでしょうか? HWND hwnd; WSAAsyncSelect(Sock,hwnd,SM_EVENT,FD_WRITE); と記述し実行した場合、強制終了されてしまいます。 3.たとえば、送信側から送信したパケットを受信側で受信し、再度受信側から送信側へ送信する場合を考えると、 送信側で送信と受信が必要です。この場合、マルチスレッド処理が必要だと思うのですが、非同期のFD_WRITEとFD_READを使うことで、シングルスレッドで実現可能でしょうか? よろしくお願い致します。