Upgrade to Pro — share decks privately, control downloads, hide ads and more …

tfcon2022.pdf

kohta ito
May 14, 2022
1.5k

 tfcon2022.pdf

kohta ito

May 14, 2022
Tweet

Transcript

  1. Node.jsの特徴 Node.jsを特徴づけるポイント • 非同期のイベント駆動形ランタイム • Non Blocking I/Oとシングルスレッド V8(JavaScriptエンジン)+ libuv(非同期I/O)

    JavaScriptの世界とI/Oをつなぐためにイベントループがある パフォーマンスを低下させないために、イベントループを極力止め ない事が重要なポイント
  2. cluster化しているか clusterを利用するとマルチコアを利用してシンプルにパ フォーマンスを向上できる 簡単に言えばfork数分パフォーマンスがあがる CPUの張り付きを避けるために 「CPU数/2」や「CPU数-1」までforkすることが多い const cluster = reuqire('cluster');

    if (cluster.isPrimary) { // ワーカープロセスを3つまでforkする for (let i = 0; i < 3; i++) { cluster.fork(); } // ワーカープロセスが終了したら再度forkする cluster.on('exit', (worker, code, signal) => { cluster.fork(); }); } else { server.listen(3000, () => { console.log('Listening on', server.address()); }); }