Transactions

商品硬體每秒可以處理多少筆交易?

  • August 1, 2017

我正在使用以下命令在專用網路上執行 geth:

geth --datadir firstserver --mine --minerthreads 1 --networkid 1300 --rpcport 8000  --rpcaddr 127.0.0.1 --port 30303 --rpcapi="db,eth,net,web3,personal,admin" --rpc --maxpeers 3 --nodiscover  --cache=2048 --memprofilerate=100 --targetgaslimit 210000000000  console

我有 8 GB 的 RAM 和一個四核 CPU。我正在執行 1 個礦工執行緒。

當我從 jmeter 每秒執行 24 個事務時,系統執行良好,但是當我將其增加到每秒 28 個事務時,系統會凍結。

CPU 使用率為 370%,記憶體使用率為 90%,我無法在該伺服器上執行任何工作。我想每秒獲得 200 多筆交易,我該如何實現?我應該怎麼做才能達到這樣的速度?

這個問題很老,但我想它應該得到一個普遍的答案。對於此類問題,主要有兩種可能:

  • 要麼你沒有足夠的記憶體
  • 或者你沒有足夠的計算能力(你可以通過更多的 CPU 來增加)

要在這兩個問題之間做出決定,您可以查看 CPU 和記憶體使用情況,但在某些情況下(如您的情況)這還不夠。因此,了解數據的一個好方法是在探勘時查看數據(例如使用 htop 或 top)。一開始,你的 CPU 應該是 100%,你的記憶體使用應該慢慢增加。然後,在某個時候,應該會發生以下情況之一:

  1. 你的 RAM 使用接近 80-100%,你的交換使用開始增加,你的 CPU 使用減少
  2. 您的 RAM 使用保持不變,每個 CPU 使用保持在 100% 附近。

在第一種情況下,您沒有足夠的 RAM。在第二種情況下,您沒有足夠的計算能力。

在您的情況下,您說您實現了 360% 的 CPU 使用率。如果它是平均使用(由 GNU 時間輸出),那麼我會說這是一個 RAM 問題(你應該有 >= 390% 其他)。

我希望它有所幫助。

引用自:https://ethereum.stackexchange.com/questions/11280