[vz-dev] SQL Abfrage aktueller Verbrauch sehr langsam
Andreas Goetz
cpuidle at gmx.de
Tue Sep 17 20:42:08 CEST 2013
Hi Sven,hast Du den aktuellen Stand aus dem Git? Wenn ja- um welchen
Sensortyp handelt es sich?
vg
Andreas
2013/9/17 Sven peitz <sven.peitz at gmx.net>
> Am 16.09.2013 20:45, schrieb Andreas Goetz:
>
> Hallo Rainer,
>
> 2013/9/16 Rainer Gauweiler <volkszaehler at moppl.inka.de>
>
>> Hallo zusammen,
>>
>> Am 16.09.2013 16:41, schrieb Andreas Goetz:
>>
>>> Hallo Thorben,
>>>
>>> 2013/9/16 Thorben Thuermer <r00t at constancy.org <mailto:
>>> r00t at constancy.org>>
>>>
>>>
>>> On Mon, 16 Sep 2013 14:01:31 +0200
>>> Jakob Hirsch <jh at plonk.de <mailto:jh at plonk.de>> wrote:
>>> > Sven peitz, 2013-09-14 11:07:
>>> > > $result1=mysql_query("SELECT value FROM data WHERE id = (select
>>> max(id)
>>> > > FROM data WHERE channel_id LIKE '14')");...
>>> > Allerdings sollte man nicht ohne Grund direkt auf der DB
>>> arbeiten. Das
>>> > Vorgehen wie von Andreas Götz ist auch deutlich einfacher
>>> (Abfrage mit
>>> > from=now).
>>>
>>> from=now...
>>> funktioniert doch aber wie gehabt nur bei erfassung absoluter
>>> staende.
>>> ansonsten war die methode doch "from=<x> seconds ago"...?
>>> also so, dass im im angegebenen zeitraum (mit now = nur aktuelle
>>> sekunde)
>>> genug werte erfasst sind, damit der interpreter in der middleware
>>> daraus etwas berechnen kann.
>>> also bei s0-zaehlern mindestens zwei impulse, etc...
>>> oder wurde da middleware-seitig was geandert?
>>>
>>> - Thorben
>>>
>>>
>>> Das sollte funktionieren da die MW (schon immer?) mittels zweier
>>> SQL-Queries den jeweils letzten und nächsten Datenpunkt außer des
>>> angefragten Zeitraumes ermitteln und from... to... entsprechend
>>> erweitern. Für now() gäbe es also immer den aktuellen und letzten
>>> Timestamp und damit die Möglichkeit einen aktuellen Periodenverbrauch zu
>>> berechnen.
>>>
>>
>> Tut bei mir nicht und tat es noch nie:
>>
>> {"version":"0.2","data":{"uuid":"*snip*","average":0,"consumption":0,"rows":0}}
>>
>> Wir hatten da auch auf dem Raspi Probleme und haben damals den Zeitraum
>> erweitert, damit sicher Daten da waren.
>>
>> Aber gab es nicht auch "kürzlich" einen Patch der das Verhalten gebaut
>> hat? Meine Installation hier ist ca ein Jahr alt.
>>
>
> Du hast Recht. Was ich geschrieben habe stimmt zwar, allerdings ist der
> Code noch nicht im Repository angekommen, sondern steht noch in meinem Pull
> Request: https://github.com/volkszaehler/volkszaehler.org/pull/47
> Das Problem ist, dass die MW ohne diese Fixes je nach Sensortyp auch mal
> 3 Tuple braucht um etwas sinnvolles zu liefern. Mit Pull Request sind es
> immer genau zwei Tupel die benötigt werden, damit klappt dann auch die
> Abfrage per "now". "now - x seconds" ist keine allgemeingültige Lösung da
> man ja nicht wissen kann wann ein Sensor Daten liefert...
>
> vg
> Andreas
>
> Hallo,
> vielen Dank für eure Antworten,.
> seit eben ist mein sql Zugang beim Provider wieder frei und ich kann
> weiter testen.
>
> Ein from=now bringt bei mit folgendes:
>
> {"version":"0.2","data":{"uuid":"**snip**","average":0,"consumption":0,"rows":0}}
>
>
>
> Ein select value from data where channel_id=14 order by timestamp desc
> limit 1;
>
> ist wirklich schnell und bring den aktuellen Wert zu Tage.
> Ich hoffe mein Provider fühlt sich damit nicht wieder überlastet.
> Ein from=3seconds%20ago funktioniert auch und ist schnell.
> Mal sehen was geschickter Weise zu verwenden ist.
>
> Viele Grüße
> Sven
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20130917/bcc40852/attachment.html>
More information about the volkszaehler-dev
mailing list