# Pré-compilação de assets leva 20 minutos

**URL:** <https://meta.discourse.org/t/precompiling-assets-takes-20-minutes/291156>\
**Category:** Self-hosting\
**Tags:** server-resources\
**Created:** [Janeiro 10, 2024, 10:13am UTC](https://meta.discourse.org/t/precompiling-assets-takes-20-minutes/291156 "2024-01-10T10:13:59Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)\
**Post date:** [Janeiro 10, 2024, 4:35pm UTC](https://meta.discourse.org/t/precompiling-assets-takes-20-minutes/291156/13 "2024-01-10T16:35:55Z")

</div>

> [@zoul](#):
>
> reconstruindo a imagem em um droplet Digital Ocean e algo leva uma eternidade

Apenas para referência, acabei de atualizar meus dois fóruns, ambos concluídos em menos de uma hora, em ambos os casos redimensionei temporariamente para 8G de RAM e de volta. Esta etapa específica levou cerca de 5 minutos, com (temporariamente) 4 CPUs e 8G de RAM.

```plaintext
I, [2024-01-10T16:07:58.323464 #1] INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake themes:update assets:precompile'
110:M 10 Jan 2024 16:08:52.047 * 100 changes in 300 seconds. Saving...
110:M 10 Jan 2024 16:08:52.048 * Background saving started by pid 3276
3276:C 10 Jan 2024 16:08:52.384 * DB saved on disk
3276:C 10 Jan 2024 16:08:52.386 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB
110:M 10 Jan 2024 16:08:52.449 * Background saving terminated with success
Purging temp files
Bundling assets
MaxMind IP database updates require a license
Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com
MaxMind IP database updates require a license
Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com
I, [2024-01-10T16:12:14.362017 #3300] INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js

```

Aqui vemos que o ember (coluna 12) está usando 2,5G de RAM (coluna 6) e mais de uma CPU (coluna 3)

```plaintext
# ps auxfc|egrep -A29 containerd
root 1097 0.2 0.5 1510892 44924 ? Ssl 16:00 0:01 containerd
root 4507 0.1 0.0 717892 7556 ? Sl 16:03 0:00 \_ containerd-shim
root 4530 0.1 0.3 312292 30512 ? Ssl 16:03 0:00 \_ pups
systemd+ 4609 0.0 0.3 213236 28608 ? S 16:03 0:00 \_ postmaster
systemd+ 4617 0.0 0.8 213340 67288 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4618 0.0 0.0 213236 5876 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4619 0.0 0.1 213236 10076 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4620 0.0 0.1 213904 8860 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4621 0.0 0.0 68004 5592 ? Ss 16:03 0:00 | \_ postmaster
systemd+ 4622 0.0 0.0 213796 7100 ? Ss 16:03 0:00 | \_ postmaster
message+ 4682 0.2 0.4 87976 35724 ? Sl 16:03 0:00 \_ redis-server
1000 7722 1.1 0.0 0 0 ? Z 16:07 0:01 \_ esbuild <defunct>
root 7736 0.0 0.0 2476 520 ? S 16:07 0:00 \_ sh
root 7737 0.0 0.0 9296 4156 ? S 16:07 0:00 | \_ su
1000 7738 8.3 0.0 2476 580 ? Ss 16:07 0:12 | \_ sh
1000 7835 0.4 0.9 929524 78416 ? Sl 16:08 0:00 | \_ node
1000 7857 0.0 0.0 2484 524 ? S 16:08 0:00 | \_ sh
1000 7858 156 30.5 67413228 2491796 ? Sl 16:08 3:37 | \_ ember
1000 7876 39.0 1.7 11486300 145476 ? Ssl 16:08 0:44 | \_ node
1000 7882 36.7 1.5 11466956 122648 ? Ssl 16:08 0:41 | \_ node
1000 7889 37.1 4.1 11647592 340908 ? Ssl 16:08 0:42 | \_ node
1000 7761 1.5 0.0 0 0 ? Z 16:08 0:02 \_ esbuild <defunct>

```

Provavelmente 4G de RAM teriam sido suficientes para mim, mas como observado, todo esse processo custou apenas alguns centavos. (Vejo agora que eu poderia ter escolhido CPUs mais rápidas por um centavo extra.)

Editar: Fiz um backup antes de começar e outro depois que o trabalho foi concluído, e eles estavam separados por 35 minutos. Portanto, o tempo de inatividade visto pelos usuários não foi maior do que isso.

Editar: note que o painel de controle da Digital Ocean diz que a operação de redimensionamento pode levar até 1 minuto por GB de dados no disco - no meu caso, apenas 14G e, como se viu, apenas 2 minutos para cada redimensionamento. Mas se você tiver uma grande quantidade de dados na instância, essa dança de redimensionamento pode levar mais tempo. (Por outro lado, se você tem uma grande quantidade de dados, talvez não esteja tentando executar com menos de 4G de RAM)

---

_[View the full topic](https://meta.discourse.org/t/precompiling-assets-takes-20-minutes/291156)._
