Estoy ejecutando geth en una red privada con el siguiente comando:
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
Tengo 8 GB de RAM y una CPU de cuatro núcleos. Estoy ejecutando 1 hilo minero.
Cuando ejecuto 24 transacciones por segundo desde jmeter, el sistema funciona bien, pero cuando lo aumento a 28 transacciones por segundo, el sistema se congela.
El uso de la CPU es del 370%, el uso de la memoria es del 90% y no puedo hacer ningún trabajo en ese servidor. Quiero obtener más de 200 transacciones por segundo, ¿cómo puedo lograrlo? ¿Qué debo hacer para alcanzar tales velocidades?
La pregunta es antigua, pero supongo que merece una respuesta general. Para tales problemas, existen principalmente dos posibilidades:
o no tienes suficiente RAM
o no tiene suficiente poder de cómputo (que puede aumentar a través de más CPU)
Para decidir entre esos dos problemas, puede observar el uso de la CPU y la memoria, pero en algunos casos (como el suyo) no es suficiente. Entonces, una buena manera de saberlo es mirar los datos mientras extrae (por ejemplo, usando htop o top). Al principio, sus CPU deben estar al 100% cada una y el uso de su memoria debe aumentar lentamente. Entonces, en algún momento, debería ocurrir uno de los siguientes:
su uso de RAM se acerca al 80-100%, su uso de intercambio comienza a aumentar y su uso de CPU disminuye .
su uso de RAM se mantiene constante, cada uso de CPU se mantiene cerca del 100%.
En el primer caso, no tienes suficiente RAM. En el segundo caso, no tiene suficiente potencia de cálculo.
En su caso, dijo que logró un uso de CPU del 360%. Si se trata de un uso promedio (según lo generado por el tiempo de GNU), entonces diría que es un problema de RAM (debe tener> = 390% de lo contrario).
Espero que ayude.
q9f
jeffrey w.
Himanshu sharma
jeffrey w.
Jawad Rafouk
Himanshu sharma