Author

Topic: Bitcoin core – Descarga inicial del blockchain – aceleradores (Read 327 times)

legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
¿Alguien tiene su nodo corriendo regularmente con el soporte un disco ssd?

Hasta ahora, usaba ssd como acelerador de la descarga, al poner la chainstate sobre el mismo, pero el resto de la información de la cadena de bloques estaba sobre un disco externo convencional mecánico con usb 3.0.
No obstante, en la última sincronización que he hecho (y ya hacía algún tiempo que no lo hacía), el disco mecánico parece haber dejado de funcionar sin más, sincronizando el nodo por la noche.

Había leído en su momento que tener toda la blockchain en un ssd tampoco estaba claro si daría problemas a medio plazo, dado la cantidad de accesos a disco que se hacen, algo que parece un contrasentido y no sé si en la práctica llega a dar algún tipo de problema sobre ssd.
legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
Como curiosidad, estaba leyendo un artículo donde se narra la evolución del tiempo preciso para sincronizar un nodo de Bitcoin por primera vez, indicando cómo este ha ido rebajándose con el desarrollo y evolución de las versiones de Bitcoin Core, algo importante para compensar el volumen adicional de bloques a descargar y validar con el paso del tiempo.


La comparativa se ha hecho usando la misma parametrización y equipo.


Ver:
https://www.criptonoticias.com/tecnologia/sincronizar-nodo-bitcoin-80-mas-rapido-pese-crecimiento/
https://blog.lopp.net/bitcoin-core-performance-evolution/
copper member
Activity: 1582
Merit: 1319
I'm sometimes known as "miniadmin"
Acelerador 1 – Realizar la descarga inicial en un equipo más potente
Acelerador 3 – Cerrar y volver a abrir bitcoin core para refrescar los Peers de los cuales descargas
Diria que estas dos van de la mano con esto:

Puede que llegues a tener un problema al arrancar core desde un disco externo por el bottleneck que va a ocurrir cuando la aplicacion tenga que revisar los bloques ya descargados, en mi experiencia con hdd externo, aveces el propio programa deja de responder al arrancar.

Evidentemente cada ordenador es un mundo, y lo mismo pasa con los discos duros.
legendary
Activity: 2240
Merit: 10532
There are lies, damned lies and statistics. MTwain
Los que ya están acostumbrados a tener su propio nodo ya conocerán todos los trucos al respecto, pero cuando lo usas poco, o a modo exploratorio por curiosidad, una de las cosas que choca es el tiempo de descarga y validación inicial del blockchain.

Más allá de que actualmente esté sobre los 400 GB de espacio de datos a descargar, y dependiendo de las características de tu disco y memoria, el tiempo de descarga lees que es ágil para unos, y muy lento para otros. Discos SSD aceleran lo suyo el proceso, pero tienen su precio, y más aún si quieres tener un disco con capacidad de sobras en previsión.

Lo indicado a continuación no es exhaustivo, sino apuntes sobre aceleradores con los cuales me he ido topando.


Acelerador 1 – Realizar la descarga inicial en un equipo más potente

Resultará más ágil realizar la descarga inicial utilizando un equipo más potente (memoria, tipos de disco, etc.), y luego mover el contenido de los datos del blockchain descargados de un sitio a otro. En mi caso, estoy utilizando como repositorio de datos un HHDD externo que moveré entre máquinas, realizando la descarga en un equipo potente, para luego conectar y utilizar el HHDD en un equipo más modesto, pero que podría destinar a correr bitcoin core de manera más regular. 


Acelerador 2 – Asignarle más memoria

Por defecto, bitcoin core trabaja con una reserva de 450 MB (o así). Si tu máquina tiene memoria de sobras, puedes asignarle al parámetro dbcache bastante más cancha. Por ejemplo, con 8GB en la máquina, puedes reservarle 4GB a bitcoin core (ya más de 4GB asignados me da que no los aprovecha actualmente, aunque creo que el parámetro te permite hasta 16 GB).


Acelerador 3 – Cerrar y volver a abrir bitcoin core para refrescar los Peers de los cuales descargas

Cuando parte del proceso va muy lento, me ha resultado beneficioso reiniciar el bitcoin core, cambiando así los pares a los cuales se conecta, y proseguir con el proceso de descarga. No obstante, tampoco es la panacea, y frecuentemente al cabo de un rato volvía todo a las velocidades de descarga habituales.


Acelerador 4 – cambiar el directorio del "chainstate" a un SSD

Este es un acelerador tremendo en mi caso, mejorando el rendimiento casi un factor de x10 en el tiempo de descarga del blockchain inicial. En mi caso, el blockchain lo tengo en un disco externo que no es SSD. A pesar de ser un disco celero e ir por usb 3, si bien no me lo parecía al principio, resulta ser un cuello de botella para la descarga. Mi disco local en cambio es SSD, por lo que he movido una carpeta en concreto (4 GB aprox.), la del chainstate, de mi disco externo a mi disco local. Como no puedes parametrizar el cambio de ubicación de una sola carpeta de los datos, puedes utilizar el comando mklink o equivalente de tu sistema operativo, acorde a lo explicado en el siguiente enlace:

Ver: https://en.bitcoin.it/wiki/Splitting_the_data_directory

Tras la descarga, se puede revertir la operación anterior.
Jump to: