Häufigkeit der Kursabfragen limitieren

Das stimmt natürlich.

Ging mir genauso als ich es gelesen hab.

Nein natürlich nicht. Das ganze spiegelt auch nicht meine persönliche Meinung. Ich finde nur das man zu einem gänzlichen Diskurs auch alle Blickwinkel auf den Tisch bringen sollte.

Allgemein. Natürlich schaun wir aus unsere PP Sicht auf das Problem. Aber wieviele sind wir im Vergleich zu allen?

Das man unterschiedliche Möglichkeiten nutzen kann ist unbestritten, wird es einen signifikanten Unterschied machen, ich weiß es nicht.

Viele Grüße

Evtl. wird hier einfach PP nur als Kursholttool verwendet. Dann hat man am Ende ein sich nicht veränderndes Eingangsformat in einem anderen Tool, in dem dann die eigentliche Verwaltung stattfindet.

Dazu müsste man sich das genauer anschauen, was ich nicht gemacht habe. Ich habe mich nur gewundert, warum bei mir beim Start von PP immer knapp 200 Kurse abgefragt werden, was eben gut dem Doppeltem entspricht, was ich in PP an aktiven Wertpapieren habe.

Derzeit sind die Abrufprozesse von aktuellen und historischen Kursen zwei getrennte solche, der eine weiß daher nichts vom anderen. Daher kann der eine seine Aktion nicht ausfallen lassen, wenn der andere die gleiche URL verwendet. Eventuell tut er das aber schon, wenn die Einstellung “wie historische Kurse” vorgenommen wurde und die Anzeige der Anzahl an noch anstehenden Kursabrufen unten links ist schlicht irreführend.

Eventuell ist das schon der Fall. Der regelmäßige Abruf kommt dann von der Ermittlung des aktuellen Kurses. Müsste ich aber im Detail nachschauen, denn wenn man Online->Kurse aktualisieren (nur aktive WP) auswählt, werden wieder beide Typen abgerufen, so dass ich mal den zeitbasierten Abruf abwarten muss, ob da dann eine geringere Zahl angezeigt wird.

Genau. Und die nächste Frage wäre, welche Konsequenz eine hohe Anzahl von Zugriffen hätte und vor allem für wen.

Typischer Weise wird ein Absender ja dann irgendwann blockiert, wenn er zuviel Traffic erzeugt. Da aber jeder PP-Nutzer seine Abfragen von einer eigenen IP auslöst, wäre die Frage, ob die Website dann PP oder dem einzelnen User die Schuld gibt. Dafür wäre es wichtig zu wissen, ob die Abfragen irgendwie PP-spezifisch sind, so dass auch alle anderen PP-User im Falle des Falles blockiert werden würden.

Nichtsdestotrotz würde es sicherlich nicht schaden, die Aktualisierungshäufigkeit konfigurierbar zu gestalten, da eine sehr häufige Aktualisierung vermutlich nur in wenigen Fällen notwendig ist.

moin miteinander,

wir sollten uns vor Augen führen, was die eigentliche Idee hinter PP ist. Es ist nun mal kein Daytradingwerkzeug, auch ist es kein Programm, um kurzfristige Entscheidungen zu planen. Dafür gibt es andere Werkzeuge. Alleine die Tatsache, dass die meisten -wenn nicht sogar alle- Kursquellen, die wir aus PP heraus anzapfen, sowieso nur verzögerte Kurse liefern, macht es eigentlich sinnfrei, es für diese oder ähnliche Dinge heranzuziehen. PP soll uns einen Überlick über unsere mitunter verstreuten Investments geben.

Ich denke, eine Abfrage pro Papier und Tag ist ausreichend. Genau diese Art Internetseitenverkehr, viele Abfragen von einer Adresse mögen Anbieter nicht und sind garantiert in Protokollscripten verankert und bei bedarf schnell zu filtern. Zusammen mit dem anfragenden Client, sind wir dann alle schnell ausgesperrt. Wir sollten den kostenlosen Dienst wertschätzen und nicht übermäßig strapazieren.

Die Abfragefrequenz einstellbar zu machen, halte ich für unnötig, denn das erste, was gemacht werden würde, ist den Regler auf maximale Frequenz einzustellen. Wir leben nun mal in einer Zeit, in der Rücksichtnahme von den wenigsten Eltern weitervermittelt wird.

2 Likes

Eine Idee wäre, bei der Neuanlage von Wertpapieren die Voreinstellung unter „aktueller Kurs“ zu ändern. Im Moment ist die „wie historische Kurse“, und man muss es manuell auf „kein automatischer Download“ ändern; möglicherweise besser wäre es umgekehrt.

Bei Ariva werden nicht nur Schlusskurse angezeigt, sondern untertägig auch der jeweils aktuelle Kurs; d.h. der Kurs verändert sich von Abruf zu Abruf.

1 Like

Naja erreichte Limit’s würde damit aber konterkariert werden.

Sicherlich richtig, aber so lange die Intention von PP nicht ad absurdum geführt wird, bin ich froh vieles sehr gut in einem Programm ab zu decken.

Hat mir oft geholfen mich danach im Depot an zu melden, Kurs zu verifizieren und dann zu handeln.

D’accord.

Ist dem so, oder gehts primär um die IP?

Volle Zustimmung, aber wieviel machen wir PP Nutzer aus, und wieviel die “anderen”?

Fürchte ich auch.

Viele Grüße

Hm, scheint nicht der Fall zu sein. Folgendes Testszenario:
Eine xml mit nur einem Wertpapier, historische Kurse auf ariva, aktuelle wie historische
Bildschirmfoto_2024-02-19_11-54-12


Nur dieses xml wird beim Start von PP geöffnet.
Traffic mitschneiden

sudo tcpdump -i eth0 -q '(udp port 53) or (tcp port 443)' -w ariva_test.pcap

PP starten


Man sieht den DNS Request nach ariva.de, mit Response 82.97.160.109

Abgefragt wird alle 30 min, wie erwartet.

In der Statistik sieht man aber nicht mehr Traffic zum Startzeitpunkt von PP, als bei den nächsten beiden Zeitpunkten.
Also wird nach meiner Interpretation, bei der Kombination “historische von Website” und “aktuelle wie historische” am Anfang nicht doppelt abgeholt.

Normalerweise wird dann die Quell-IP der Requests geblockt. Wenn aber ein Seitenbetreiber merkt das die Flut von einem bestimmten User-Agent ausgeht, ist es auch möglich diesen komplett zu blocken.
Mit welchem User-Agent meldet sich PP?


PP tarnt sich als Firefox in der Version 25.
Das ließe sich sicherlich zur besseren Tarnung aktualisieren.

1 Like

Dann wird es wohl falsch angezeigt. Bei mir wird beim Abruf der Kurse eine dreistellige Anzahl noch herunterzuladender Kurse angezeigt. Ich habe aber keine dreistellige Zahl Wertpapiere, selbst wenn ich die Inaktiven dazuzähle.

Vielleicht habt ihr beide recht, und PP startet zwar mehrere Anfragen, nutzt für erneute Abrufe identischer Adressen aber die zwischengespeicherte Antwort der ersten Anfrage, wodurch dann kein Netzwerkverkehr mehr entsteht?

Mein PP bezieht einige Kurse von einem von mir selbst verwalteten Webserver. Dort kann ich gut sehen, welche Anfragen den Server tatsächlich erreichen. Bei Kursen mit Einstellung “wie historische Kurse” ist es beim Aktualisieren nur eine Anfrage.

Interessanterweise werden beim Öffnen des Fensters zum Editieren des Wertpapiers aber mehrere (3-8) Anfragen gesendet, die trotz identischer URL alle den Server erreichen.

Zum Thema selbst denke ich, dass möglichst sparsame Standardeinstellungen das Problem (wenn es denn eines ist) entschärfen sollten.

3 Likes

Die Info steckt in

name.abuchen.portfolio/src/name/abuchen/portfolio/util/OnlineHelper.java

und ist OS-abhängig

package name.abuchen.portfolio.util;

/* package */ public final class OnlineHelper
{

    @SuppressWarnings("nls")
    /* package */ public static String getUserAgent()
    {
        String os = System.getProperty("os.name", "unknown").toLowerCase();
        if (os.startsWith("windows"))
            return "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36";
        else if (os.startsWith("mac"))
            return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11";
        else
            return "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0";
    }

}

Bei Windows könnte man z.B. auf

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36

ändern, bei Mac weiß ich nicht (kann mal bitte ein Mac-User mit aktuellem Browser what is my user agent - Google Suche aufrufen und berichten?), beim Rest könnte

Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:123.0) Gecko/20100101 Firefox/123.0

drinstehen.

1 Like

Für Chrome:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Für Safari:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Safari/605.1.15

Allerdings MacOS Venura (13.6)
und nicht
Sonoma (14.3.1)

Viele Grüße

1 Like

Safari unter Mac OS Sonoma (14.3.1)

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3.1 Safari/605.1.15
1 Like

Wozu? Ich bezweifle mal, dass man da auf Serverseite die Hersteller-ID der Ethernet-ID rausextrahiert und gegen das behauptete Betriebssystem im User-Agent gegenprüft.

Den gemeine Benutzer dürfte es auch nicht scheren und Benutzer mit ausreichend Selbstwertgefühl werden es überleben, wenn sich ihr System z.B. als Windows-basiert ausgibt, obwohl es sich um ein MacOS/Linux handelt.

Warum nicht? Frisst ja kein Brot.

Bedeutet halt nur dreifachen Aufwand, wenn man das auf einen aktuellen Stand bringen will, wie man hier live beobachten konnte. Daher habe ich mich gewundert, was die Motivation hinter dieser Implementierung “in the first place” war.

Man will ja aus den Erfahrungen von anderen lernen und wenn’s in der Source nicht steht, muss man halt hier blöd fragen. Btw:

package name.abuchen.portfolio.util;

/* package */ public final class OnlineHelper
{

Was soll das /* package */ an der Stelle aussagen? Die Visibility kann es ja nicht sein.

Hab Deine Frage mit an Modernize User-Agents · Issue #3810 · portfolio-performance/portfolio · GitHub gehängt. Ich kann sie nicht beantworten.

Nein, sondern man schaut im Git-Commit nach, der es eingeführt hat und hoffentlich eine ausführliche Begründung dafür gibt.

Über was man in jedem Fall nachdenken sollte wäre das Einbeziehen des Datum/Uhrzeits der letzten aktualisierungen, gerade im Hinblick auf die App.

Viele Grüße

So funktioniert das. “Oben” generiert PP Jobs für jedes Wertpapier und Konfiguration, irgendwo “unten” findet das Caching statt.

Anscheinend wird bei der Konfiguration der Provider teilweise noch am Cache vorbei angefragt. Das muss ich mir bei Gelegenheit mal anschauen. Aber ich gehe davon aus, dass das nicht der Normalfall ist.

Wenn man keinen Qualifier angibt, dann ist die Sichtbarkeit package. Ich habe mir angewöhnt, dann package explizit als Kommentar hinzuschreiben um mich zu erinnern, dass ich die Sichtbarkeit hier absichtlich auf Package gelassen habe. Ansonsten denkte ich zu schnell ich könnte das Verhalten (leicht) ändern.

Das weiß ich ehrlicherweise nicht mehr. :nerd_face: Ich glaube es war einfacher beim Debuggen weil man das mit Quelltext in seinem Browser vergleichen konnte. Aber wegen dem User Agent gilt das auch nicht wirklich. Ich habe nichts dagegen das auf einen (aktualisierten) Windows User Agent anzupassen.

1 Like