さまざまなsqliteデータベースに書き込むnode.jsプロセスがあります。 Sqliteは、データベースごとに1つの同時書き込みのみを処理できます。これはデータベースごとに一度だけ書き込むことができますが、複数の異なるデータベースに同時に書き込まれるので大丈夫です。
システムで書き込みボトルネックが発生する場所を確認する方法: 1. オペレーティングシステム (Debian Wheezy) 2. SSD 3. Node.js
各データベースに同時書き込みが発生しないため、sqliteはボトルネックになるとは思わないが、書き込みは同時に他のデータベースで発生する。
編集:新しいボックスに展開するか、node.jsプロセスを追加する時期などを決定できるように、境界要素を決定しようとしています。
答え1
sarコマンドは、さまざまで便利なシステム活動を提供します。たとえば、一般的なCPU使用率の場合:
sar -u 2 10
表示されています(注 - Debianシステムではありませんが類似している必要があります):
09:31:55 AM CPU %user %nice %system %iowait %steal %idle
09:31:57 AM all 1.71 0.00 1.14 0.00 0.00 97.14
09:31:59 AM all 1.00 0.00 0.50 0.00 0.00 98.51
I/O レイテンシを表示します。system
この数は、要求を処理するために必要なCPU使用量のためにI / Oの影響を受けますが、iowait
時間はデバイスによる遅延を示します。
ディスク使用量の場合:
sar -d 2 110
以下を提供します。
09:33:03 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
09:33:05 AM dev8-0 11.06 0.00 112.56 10.18 0.02 1.59 0.45 0.50
09:33:05 AM dev8-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
したがって、待ち時間はシステムがI / Oバインドされているかどうかを判断するのに役立ちます。
答え2
を使用してアプリケーションをプロファイリングしてみてくださいiotop
。
sudo apt-get install iotop
sudo iotop