Dsmr-reader: Vraag over vacuumdb

Created on 18 Oct 2020  路  4Comments  路  Source: dsmrreader/dsmr-reader

By @neverstoppedaskingwhy

Hoi Dennis,

Sorry voor het hijacken van deze thread, maar ik heb een vraag met betrekking tot

sudo su - postgres
vacuumdb -f -v -d dsmrreader
```

Normaal hoef je dat nooit te doen, maar bij relatief grote database-deletes in korte tijd kan het wat toevoegen.
#1071 (comment)

Ik heb ook sporadisch issues met dsmr op een raspberry pi v3 met de performance of bereikbaarheid van de web interface.

Mijn status voor het uitvoeren van vacuumdb:

  Version                                                    v4.4.3
  Database engine/vendor                                 postgresql
  Setting: Backend process sleep                              1.0 s
  Setting: Datalogger process sleep                           0.5 s
  Setting: Retention cleans up after                          168 h

SMART METER
  Telegram version (latest reading)                             v50
  Setting: Telegram parser                                        4

DATA
  Stored: Telegram records total                             626490
                        \_ unprocessed                          194
  Stored: Electricity consumption records                     36914
  Stored: Gas consumption records                             28838

POSTGRESQL SIZE OF LARGEST TABLES (> 1MB)
  public.dsmr_datalogger_dsmrreading                        5039 MB
  public.dsmr_consumption_electricityconsumption             228 MB
  public.dsmr_consumption_gasconsumption                      11 MB
  public.dsmr_stats_hourstatistics                          1576 kB
  public.dsmr_weather_temperaturereading                    1336 kB


Mijn status na vacuumdb:

  Version                                                    v4.4.3
  Database engine/vendor                                 postgresql
  Setting: Backend process sleep                              1.0 s
  Setting: Datalogger process sleep                           0.5 s
  Setting: Retention cleans up after                          168 h

SMART METER
  Telegram version (latest reading)                             v50
  Setting: Telegram parser                                        4

DATA
  Stored: Telegram records total                             627019
                        \_ unprocessed                           51
  Stored: Electricity consumption records                     36923
  Stored: Gas consumption records                             28840

POSTGRESQL SIZE OF LARGEST TABLES (> 1MB)
  public.dsmr_datalogger_dsmrreading                         120 MB
  public.dsmr_consumption_electricityconsumption              13 MB
  public.dsmr_consumption_gasconsumption                    3000 kB
  public.dsmr_stats_hourstatistics                          1552 kB
  public.dsmr_weather_temperaturereading                    1312 kB


De retention had ik aan het begin van het jaar gereduceerd naar 茅茅n week. Kan het zijn, dat op deze hardware met deze instellingen het te lang duurt om "overbodige" database entries te verwijderen, zodat een vacuumdb gewoon noodzakelijk is?

Om problemen bij nieuwe installaties te vermeiden, is het misschien een idee om bij telegram formaat versie v50 de retentie via het backend niet langer als 茅茅n week instelbaar te maken?

Bedankt,
Mark

All 4 comments

@neverstoppedaskingwhy bedankt voor je vraag. In principe zouden nieuwe installaties sowieso al met een datalogger sleep van 5 moeten draaien, waardoor dit niet meer zo'n issue wordt. Het instellen van retentie van een week zou verder ook niet uit hoeven maken.

Uiteindelijk is het namelijk een gevolg van de hoeveelheid data die binnenkomt. Dan is het wellicht praktischer om die aanvoer van data zoveel mogelijk te beperken, voornamelijk bij DSMR-v5 meters.
Als je zelf geen belang hebt bij elke seconde een telegram dan kan ik je aanraden de datalogger sleep te verhogen, want dan wordt er ook minder data opslagen, hoeft er minder opgeschoond te worden en is de performance op relatief trage hardware (Pi's) al stukken beter.

Klopt het dat je de datalogger sleep zelf weer verlaagd hebt? En anders is een automatische migratie in juli wellicht niet bij iedereen even goed gegaan. Ik kan je sterk aanraden om die minstens op 5 seconden te zetten. Vermoedelijk lost dat ook je performance issues op, zodra de retentie alle overbodige metingen (na een week) heeft verwijderd.

Ter vergelijking, met een 'sleep' van 10 seconden (DSMR v4), retentie van een week en na bijna 5 jaar aan data heb ik het zelf zo:

    Telegrams                                                                                 
      - total (est.)                                                                    143537
      - version (latest reading)                                                          "42"
    Consumption records                                                                       
      - electricity (est.)                                                               93354
      - gas (est.)                                                                       41316

POSTGRESQL SIZE OF LARGEST TABLES (> 5 MB)
    public.dsmr_datalogger_dsmrreading                                                   45 MB
    public.dsmr_consumption_electricityconsumption                                       41 MB

Wellicht dat ik in de toekomst de datalogger sleep verplicht op minimaal 5 seconden, omdat het zoveel issues voorkomt. Echter, gezien dat betekent dat ik zelf daarmee de keuze voor alle gebruikers maak, ben ik daar vanzelfsprekend nog wat terughoudend mee.

Ik zal sowieso standaard de retentie van nieuwe installaties verlagen naar een maand en betere toelichting geven over wat het doet.

Bedankt voor de toelichting. De datalogger sleep heb ik niet opnieuw ingesteld, ik zal het nog even afwachten en dan eventueel aanpassen. Ik gebruik dsmr direkt, niet in docker.

Op zich is het wel fijn om in de webinterface het effect van het in- of uitschakelen van een apparaat meteen te kunnen zien, maar deze seconde waardes hoeven niet perse in de database.

Na de handmatige vacuumdb reageert het systeem in ieder geval wel merkbaar sneller.

Zojuist uitgebracht in v4.5

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tomkooij picture tomkooij  路  3Comments

Calimerorulez picture Calimerorulez  路  9Comments

KobeBergmans picture KobeBergmans  路  4Comments

swerveshot picture swerveshot  路  10Comments

swerveshot picture swerveshot  路  4Comments