2

Ruby の同じ Linux ボックスで 2 つのプロセス間で IPC を実行しようとしていますが、可能な限りソリューションを最適化する必要があります。

私は TCPSocket から始めましたが、UNIXSocket を使用する方がおそらく高速であり、データをカーネル バッファーにコピーしないことがわかります。

私はSOスレッドを読んでいますが、mmapを見るのは面白いかもしれません。ただし、mmap の場合は、a) mmap gem をインストールし、b) ロックを提供する必要があります。これは、複数のクライアント プロセスがサーバー プロセスに接続しようとする可能性があるためです (両方とも同じボックスで実行されます)。

私の質問:

  1. 他にどのようなオプションをお勧めしますか?
  2. ruby mmap でメモリをロックする方法をお勧めしますか?
  3. 利用可能な場合、UNIXSocket と mmap の数値はどのように積み重なるのでしょうか?
4

0 に答える 0