タグ

performanceとnode.jsに関するkasahiのブックマーク (6)

  • 1000万ユーザに耐えるサーバを作ってみた

    概要 スケーラビリティが高く1000万ユーザに耐えるAPIサーバを作成しました。TwitterのようなSNSです。実装はGitHubで公開しています。 開発環境は次の通りです。 Node 16.14 Express 4.17.3 DynamoDB 2012-08-10 機能要件は次の通りです。 ツイート機能 ツイートに対してコメント機能 フォロー機能 タイムライン機能 導入 Facebook、Amazon、Youtubeのような数億人のユーザを抱えるサービスでは大量のトラフィックを捌く必要があります。大量のトラフィックを捌くためのアプローチとして一般的に使われるのはスケールアップではなくスケールアウトです。スケールアップは性能の高い機器を使うためにコストが高いです。また、1つのサーバで運用するためにパフォーマンスの限界が存在します。 スケールアウトについて考えます。アプリケーションは大きく

    1000万ユーザに耐えるサーバを作ってみた
  • 「俺のNode.jsがこんなに遅いわけがない!」って時に試したいこと - Qiita

    プロローグ node --helpでnodeの起動オプションを見てみると、実はひっそりと--v8-optionsという初心者お断りオーラを醸し出しまくってるオプションがあります。 Node.jsの公式ドキュメントによると Print v8 command line options. Note: V8 options allow words to be separated by both dashes (-) or underscores (_). For example, --stack-trace-limit is equivalent to --stack_trace_limit. どうやらV8エンジンの起動オプションをnodeコマンドでも与えられるようです。 ついでに、「-」と「_」はどっちでもいいようです。 で、この--v8-optionsを駆使すればNode.jsのパフォーマンス

    「俺のNode.jsがこんなに遅いわけがない!」って時に試したいこと - Qiita
  • ISUCON6の予選をNode.jsで突破する - Qiita

    経緯 去年、ISUCONに参加してみました。少しの爪痕も残すことなく敗退しました。 Node.jsをチョイスしましたが、慣れないasync/awaitとすさまじいhtmlifyの前に、何もできずに終わりました。 で、今年のISUCON7でリベンジすべく、特訓を始めました。 いろいろと調べていると、こんな情報がありました。 ISUCON6 オンライン予選の利用言語比率 あれ、Node.jsで戦に出場しているチームがない… と思ったので、少し心に火がつきました。 目標 ISUCON6 選出場者決定のお知らせを見る限り、90,214点を超えられれば良いらしい。 または、学生になれば良いらしい。でも、社会人学生じゃダメらしい。 ということで、90,214点を超えるのが目標。 参考 このまとめにあるブログエントリをめちゃ参考にさせて頂きました。 みなさまありがとうございます。 【更新終了】ISU

    ISUCON6の予選をNode.jsで突破する - Qiita
  • Node.js Performance 改善ガイド - from scratch

    Node.js Performance 改善ガイド Memory の場合 メモリリークかどうかを特定する メモリリークではない場合 CPU の場合 どこの処理に時間がかかっているのかを確認する v8 simple profiler flame graph を取得する File の場合 大きなサイズのファイルをどうしても扱う時 Network の場合 keepalive を on にする その他: 全体的にパフォーマンスを改善するためにやること JIT が効いているかを確認する clusterが使えないか検討する C++ addons vs JavaScript libraries まとめ 参考資料 Node.js Performance 改善ガイド この記事は Node.js 2 Advent Calender の 5日目の記事です。 qiita.com Node.js のパフォーマンスに

    Node.js Performance 改善ガイド - from scratch
  • React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント

    React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント:大規模ブログサイト表示速度改善 大解剖(終)(1/3 ページ) 2004年から続くブログサービス「アメブロ」が2016年9月にシステムをリニューアル。連載では、そこで取り入れた主要な技術や、その効果を紹介していく。今回は、React/Redux/Node.jsを使ったIsomorphic JavaScript特有のパフォーマンスチューニング手法や実際にあった問題および、その解決方法について。 2004年から続くブログサービスである「アメブロ」は、2016年9月にシステムをリニューアルしました。連載「大規模ブログサイト表示速度改善 大解剖」では、そこで取り入れた主要な技術や、その効果を紹介しています。 アメブロのリニューアルでは、React/Reduxを採用し、サーバサイドとフロントエンド両方での

    React/Redux/Node.jsのSSR/SPAを速くする6つのチューニングポイント
  • WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD

    Webアプリにリアルタイムの双方向通信が必要な場合、WebSocketを選ぶのは自然なことだと思います。では、どのツールでWebSocketサーバを構築すべきでしょうか。パフォーマンスは重要ですが、開発のプロセスも見過ごしてはなりません。パフォーマンスを基準にするだけでなく、開発のしやすさも考慮に入れるべきでしょう。今回の大合戦では、Clojure、C++、Elixir、Go、NodeJS、Rubyのそれぞれの言語によって慣用的な手法で実装されたシンプルなWebSocketサーバを比較したいと思います。 テスト内容 サーバに実装するのは、 echo と broadcast の2つのメッセージのみを扱う非常に単純なプロトコルです。echoは送信クライアントに返され、ブロードキャストは全ての接続クライアントに送信されます。そしてブロードキャストが完了すると、結果メッセージが送信者に返されます。

    WebSocket大合戦:Clojure、C++、Elixir、Go、NodeJS、Ruby | POSTD
  • 1