-
Und was stimmt nun ?
Autor: BLi8819 15.11.22 - 16:30
Macht die App jetzt 0 oder >1000 RPCs?
-
Re: Und was stimmt nun ?
Autor: m9898 15.11.22 - 17:12
Relativ aktuelle Bestätigung, dass Twitter im Backend Finagle verwendet: https://twitter.com/TwitterEng/status/1440333381351346176
Damit macht die App selbst zwar vielleicht keinen RPC, löst diese aber indirekt im Backend aus und muss natürlich trotzdem auf die Antworten warten. Sowieso merkwürdig, wie sich dort manche Twitter-Mitarbeiter über Dinge aus dem Fenster lehnen, mit denen sie selbst gar nichts zu tun haben. -
Re: Und was stimmt nun ?
Autor: UweSarpe 15.11.22 - 19:44
Wenn es das Backend ist hat der Entwickler Recht und Musk Unrecht (und keine Ahnung).
-
Re: Und was stimmt nun ?
Autor: tallinn1960 15.11.22 - 20:26
Es ist ziemlich offensichtlich, dass Musk auf dem Holzweg ist. Diverse Entwickler und Ex-Entwickler haben widersprochen. Ich habe mir spasseshalber mal die Twitter-Kommunikation mit Wireshark angesehen und kann seine Behauptung auch nicht nachvollziehen. Ich erlebe Twitter auf iOS in Deutschland auch so flott, wie man das erwarten darf bei der Menge der Nachrichten - ich folge allerdings auch nicht der ganzen Welt.
Aber der Kardinalfehler von Musk ist der: man redet öffentlich das eigene Produkt nicht schlecht, selbst wenn man recht hätte. Wieviele Teslas hätte Musk wohl verkauft, hätte er sich jemals öffentlich hingestellt und geschimpft, dass die schlecht gebaut sind? Hat er nie getan. Natürlich nicht. Weil man das auch nicht macht als Firmenchef, hinterher würde man sich selbst als Mehrheitsaktionär selber feuern müssen - oder von den anderen Aktionären verklagt werden. Bei Twitter aber kriegt man den Eindruck, dass er den ganzen Laden hasst. Das spricht nicht für eine Zukunft von Twitter. Und bei Twitter. -
Re: Und was stimmt nun ?
Autor: BLi8819 15.11.22 - 20:38
Sofern das Backend das Frontend "lahmlegt", hat Musk mit seiner Aussage zwar technisch unrecht, aber aus Nutzersicht recht. Dem Nutzer ist es egal, ob die App viele Requests losschickt und das lange dauert (Musk behauptung), oder ob der Server Requests losschickt und der Client solange warten muss (Dritte Punkt von Frohnhoefer).
Worin sich beide einig schienen ist, dass es in der App Performance Probleme gibt.
Ich habe weder ein Twitter Account, noch die App. Daher weiß ich nicht, ob das meckern auf hohem Niveau ist, oder ob die App tatsächlich langsam ist.
1 mal bearbeitet, zuletzt am 15.11.22 20:40 durch BLi8819. -
Re: Und was stimmt nun ?
Autor: BLi8819 15.11.22 - 20:45
> Aber der Kardinalfehler von Musk ist der: man redet öffentlich das eigene Produkt nicht schlecht, selbst wenn man recht hätte.
Dem ist so.
> Ich habe mir spasseshalber mal die Twitter-Kommunikation mit Wireshark angesehen und kann seine Behauptung auch nicht nachvollziehen.
Danke. Ich habe weder ein Account, noch die App. Daher konnte ich das nicht selbst nachvollziehen. -
Re: Und was stimmt nun ?
Autor: redmord 15.11.22 - 21:20
tallinn1960 schrieb:
--------------------------------------------------------------------------------
> Es ist ziemlich offensichtlich, dass Musk auf dem Holzweg ist. Diverse
> Entwickler und Ex-Entwickler haben widersprochen. Ich habe mir
> spasseshalber mal die Twitter-Kommunikation mit Wireshark angesehen und
> kann seine Behauptung auch nicht nachvollziehen.
Musk redet von 1.000 Aufrufen innerhalb der Microservice-Architektur im Backend. Die Firma nutzt hier ein eigens entwickelte RPC-System. Der Dev von seiner Android-App. Keine Ahnung wie man das als außenstehender beurteilen kann. Da wird kräftig aneinander vorbei geredet. -
Re: Und was stimmt nun ?
Autor: mambokurt 15.11.22 - 23:44
Der Witz ist doch: selbst wenn im Backend 1000 Calls laufen ist das doch in Tackatuckaland nicht langsamer als in Paris was die App angeht. Das hieße sonst faktisch dass das Backend auf Länder oder Kontinente verteilt liegt aber entweder nur so halb und es müssen teure Requests gemacht werden oder die Hardware dahinter ist zu schwach. Viel mehr bleibt da ja nicht.
Ich maße mir da kein Urteil an, in einer Welt in der Probleme mit mehr Hardware in der Cloud erschlagen werden weiß ich aber wie Entwickler teils denken und denke mir meinen Teil was da schief geht ;) -
Re: Und was stimmt nun ?
Autor: Nutzer-name 16.11.22 - 00:11
tallinn1960 schrieb:
--------------------------------------------------------------------------------
> Es ist ziemlich offensichtlich, dass Musk auf dem Holzweg ist. Diverse
> Entwickler und Ex-Entwickler haben widersprochen. Ich habe mir
> spasseshalber mal die Twitter-Kommunikation mit Wireshark angesehen und
> kann seine Behauptung auch nicht nachvollziehen. Ich erlebe Twitter auf iOS
> in Deutschland auch so flott, wie man das erwarten darf bei der Menge der
> Nachrichten - ich folge allerdings auch nicht der ganzen Welt.
>
Nutzer: Die App ist langsam, es dauert ewig bis die Timeline erscheint.
Entwickler: Kann nicht sein! Ich habe es mir angeschaut und die App stellt und verarbeitet die Anfragen mega schnell.
Beide haben Recht. Aber was lernen wir daraus? Dass der Entwickler eine sehr eingeschränkte Sicht hat und mehr als die paar Funktionen die er vor sich hat nicht überblicken kann.
Man könnte ihn auch als Fachidiot bezeichnen, aber auch das wäre in dem Fall noch zu positiv. -
Re: Und was stimmt nun ?
Autor: ckdot 16.11.22 - 01:05
Wie schon erwähnt, bemängelte Musk die Anzahl an RPCs.
RPCs finden zwischen zwei Servern statt, nicht zwischem einem Client (z.B. einer App) und einem Server. Zumindest sind sie dort ein geläufiger Begriff. Da wir die Server-Software nicht einsehen können, wissen wir im Endeffekt nicht, wer Recht hat.
Man kann aber, wie Du es getan hast, mal die Kommunikation zwischen Client und Server anschauen, um eine Ahnung zu erhalten.
Dazu reicht auch ein Blick in die Web Developer Tools des Browsers. Beim Laden der Timeline - ohne Scrolling - werden in meinem Fall über 200 Requests abgefeuert. Eines der ersten Requests dauert dabei über 1,5 Sekunden. Und solange dieses nicht abgeschlossen ist, wird die Timeline nich angezeigt.
Requests, die deutlich über 1 Sekunde brauchen sind im Web eher ungewöhnlich. Zumindest im Enterprise-Umfeld. Normalerweise lagert man langsame Tasks - sofern man sie nicht großartig optimieren kann - in den Hintergrund aus (via Queue o.ä.), um die Response-Zeiten schlussendlich in Grenzen zu halten.
Hunderte Requests sind zwar (leider) nicht mehr ganz so ungewöhnlich - und durch Parallelisierung dank HTTP/2 auch nicht mehr ganz so kritisch; sie zeugen aber nicht unbedingt von gutem Software-Design. Nur, weil ein modernes HTTP-Protkoll besser in der Lage ist, Requests parallel auszuführen, sollte man die Anzahl an Requests nicht völlig außer Acht lassen. Vor allem solche, die bereits above the fold stattfinden - also ohne, dass der Besucher mit der Website interagiert oder nach unten scrollt.
Weiterhin hatten 2 Requests einen 400er, also einen Fehler, zurückgegeben. Ob das jetzt durch die von Musks angekündigter Abschaltung der Microservices verursacht wurde, oder schon vorher ein Problem war - ich weiß es nicht. Schön ist das aber auch nicht, die Requests hätte man sich dann auch sparen können. Macht den Kohl aber eh nicht mehr fett.
Die Kommunikation zwischen Browser und Servern ist also... gelinde gesagt... "verbesserungswürdig".
Das muss natürlich nicht heißen, dass es im Backend genauso aussieht - aber mutmaßlich ist es da dann wohl nicht anders. Wenn Twitter bisher Code-Qualität im Frontend vernachlässigt hat, wieso sollten sie sie dann im Backend mehr Wert auf solche gelegt haben? -
Re: Und was stimmt nun ?
Autor: StormGoth 16.11.22 - 04:50
Wenn 200 Requests das Ergebnis nach Batching sind, dürfte Musk Recht haben. Ich amüsiere mich über die Unterscheidung zwischen den Bezeichnungen RPC/https-Request/api-Call - sorry, für mich ist das alles gleichwertig, es gibt einen Request und der Server ruft eine Funktion auf, die das gewünschte Ergebnis als Antwort liefert, der dafür genutzte Mechanismus ist von der aktuellen Mode abhängig. Viele junge Entwickler vergessen gerne Latenz und dass das Netz nicht überall schnell ist.
-
Re: Und was stimmt nun ?
Autor: amagol 16.11.22 - 06:32
StormGoth schrieb:
--------------------------------------------------------------------------------
> Wenn 200 Requests das Ergebnis nach Batching sind, dürfte Musk Recht haben.
Wenn die Requests von Indien in die USA gehen ja, wenn die Requests an Server im gleichen Datacenter gehen nicht. Ueber lange Distanzen (gemessen nach Latenz, nicht unbedingt weit in km) will man lieber wenige Verbindungen und schon gar kein hin-und-her (z.b. pagination oder n+1 fanouts). Im Datacenter ist das eher umgekehrt - du willst den Request auf viele Rechner verteilen (natuerlich nur soweit, dass man keine Arbeit doppelt macht).
> Ich amüsiere mich über die Unterscheidung zwischen den Bezeichnungen
> RPC/https-Request/api-Call - sorry, für mich ist das alles gleichwertig, es
> gibt einen Request und der Server ruft eine Funktion auf, die das
> gewünschte Ergebnis als Antwort liefert, der dafür genutzte Mechanismus ist
> von der aktuellen Mode abhängig.
Es ist schon wichtig, weil REST/GraphQL halt ausserhalb deiner direkten Kontrolle laeuft - der Nutzer kann auf in Indien an einem 10GBit/s-Ethernet haengen oder in Deutschland mit 2G und grottiger Latenz.
Wenn die RPC innerhalb deines Datacenters hohe Latenz haben, ist das ein Infrastrukturproblem, dass man auf verschiedene Weisen angehen kann. Zu sagen die RPCs sind zu langsam und deshalb batchen wir oder was auch immer ist eine der schlechtesten Loesungen.
> Viele junge Entwickler vergessen gerne
> Latenz und dass das Netz nicht überall schnell ist.
Vollkommen korrekt, aber das Netz in einem Datacenter sollte normalerweise verdammt schnell sein. -
Re: Und was stimmt nun ?
Autor: mambokurt 16.11.22 - 08:11
amagol schrieb:
--------------------------------------------------------------------------------
> StormGoth schrieb:
> ---------------------------------------------------------------------------
> -----
> > Wenn 200 Requests das Ergebnis nach Batching sind, dürfte Musk Recht
> haben.
>
> Wenn die Requests von Indien in die USA gehen ja, wenn die Requests an
> Server im gleichen Datacenter gehen nicht. Ueber lange Distanzen (gemessen
> nach Latenz, nicht unbedingt weit in km) will man lieber wenige
> Verbindungen und schon gar kein hin-und-her (z.b. pagination oder n+1
> fanouts). Im Datacenter ist das eher umgekehrt - du willst den Request auf
> viele Rechner verteilen (natuerlich nur soweit, dass man keine Arbeit
> doppelt macht).
>
> > Ich amüsiere mich über die Unterscheidung zwischen den Bezeichnungen
> > RPC/https-Request/api-Call - sorry, für mich ist das alles gleichwertig,
> es
> > gibt einen Request und der Server ruft eine Funktion auf, die das
> > gewünschte Ergebnis als Antwort liefert, der dafür genutzte Mechanismus
> ist
> > von der aktuellen Mode abhängig.
>
> Es ist schon wichtig, weil REST/GraphQL halt ausserhalb deiner direkten
> Kontrolle laeuft - der Nutzer kann auf in Indien an einem 10GBit/s-Ethernet
> haengen oder in Deutschland mit 2G und grottiger Latenz.
> Wenn die RPC innerhalb deines Datacenters hohe Latenz haben, ist das ein
> Infrastrukturproblem, dass man auf verschiedene Weisen angehen kann. Zu
> sagen die RPCs sind zu langsam und deshalb batchen wir oder was auch immer
> ist eine der schlechtesten Loesungen.
>
> > Viele junge Entwickler vergessen gerne
> > Latenz und dass das Netz nicht überall schnell ist.
>
> Vollkommen korrekt, aber das Netz in einem Datacenter sollte normalerweise
> verdammt schnell sein.
Ney, er sagt ja gerade 200 Requests von Browser nach Twitter, nix gleiches Datacenter oder im Backend zwischen zwei Servern. Wenn ich mal Langeweile hab guck ich mir das mal an, so langsam interessiert mich das auch was die da treiben... -
Re: Und was stimmt nun ?
Autor: Trollversteher 16.11.22 - 08:56
>Musk redet von 1.000 Aufrufen innerhalb der Microservice-Architektur im Backend.
Nope, er sagte klar und deutlich, dass die *App* 1000 calls sendet, nicht darüber, was im Backend abgeht. Zudem wurde ja auch ziemlich deutlich und kompetent erklärt, wo die tatsächlichen bottlenecks bzw. performance Probleme der App liegen, und die hatten offensichtlich nichts mit der Anzahl der RPC-calls zu tun. -
Re: Und was stimmt nun ?
Autor: Trollversteher 16.11.22 - 09:00
>Nutzer: Die App ist langsam, es dauert ewig bis die Timeline erscheint.
>Entwickler: Kann nicht sein! Ich habe es mir angeschaut und die App stellt und verarbeitet die Anfragen mega schnell.
Äh nein, das hat der Entwickler nicht geschrieben, eher das genaue Gegenteil ist der Fall - hast Du Dir den Verlauf der Diskussion nicht angesehen?
>Beide haben Recht. Aber was lernen wir daraus? Dass der Entwickler eine sehr eingeschränkte Sicht hat und mehr als die paar Funktionen die er vor sich hat nicht überblicken kann. Man könnte ihn auch als Fachidiot bezeichnen, aber auch das wäre in dem Fall noch zu positiv.
Auch völlig daneben. Vielleicht einfach mal anhand der Primärquellen selbst ein Bild machen, statt auf Basis von Schlagzeilenwissen und wilden Spekulationen urteilen. Sicher war es protokollarisch falsch, hier öffentlich dem Big Boss zu widersprechen, aber fachlich hat er vollkommen Recht, in dem Fall ist Musk der "Fachidiot", der eine "sehr eingeschränkte Sicht hat". -
Re: Und was stimmt nun ?
Autor: JustMy4Cents 16.11.22 - 10:51
BLi8819 schrieb:
--------------------------------------------------------------------------------
> Sofern das Backend das Frontend "lahmlegt", hat Musk mit seiner Aussage
> zwar technisch unrecht, aber aus Nutzersicht recht.
Nein, er labert einfach Unfug.
Und als sich das bestätigt hat, hat er lieber den Entwickler gefeuert, als einzugestehen keine Ahnung zu haben und Schwachsinn gelabert zu haben.
Ein super Chef. -
Re: Und was stimmt nun ?
Autor: Sharky444 16.11.22 - 14:15
tallinn1960 schrieb:
--------------------------------------------------------------------------------
> Es ist ziemlich offensichtlich, dass Musk auf dem Holzweg ist. Diverse
> Entwickler und Ex-Entwickler haben widersprochen. Ich habe mir
> spasseshalber mal die Twitter-Kommunikation mit Wireshark angesehen und
> kann seine Behauptung auch nicht nachvollziehen. Ich erlebe Twitter auf iOS
> in Deutschland auch so flott, wie man das erwarten darf bei der Menge der
Es feht explizit um Android -
Re: Und was stimmt nun ?
Autor: BLi8819 16.11.22 - 17:04
Du wiedersprichst also dem Entwickler, dass die App Performance Probleme hat?
Oder was willst du mit deiner Antwort jetzt zur Diskussion beitragen?
Oder hast du mein Beitrag nicht gelesen und willst du trollen? -
Re: Und was stimmt nun ?
Autor: JustMy4Cents 18.11.22 - 12:19
BLi8819 schrieb:
--------------------------------------------------------------------------------
> Du wiedersprichst also dem Entwickler, dass die App Performance Probleme
> hat?
Nein. Wo soll das stehen?
> Oder was willst du mit deiner Antwort jetzt zur Diskussion beitragen?
> Oder hast du mein Beitrag nicht gelesen und willst du trollen?
Trollen tun Elon-Fanboys wie du, die die sachlich und technisch völlige falsche Aussage von Musk jetzt mit irgendwelchen fadenscheinigen Begründungen noch schön reden wollen.
Statt einfach einzustehen, dass ihr Idol ein Idiot ist und sich so auch benimmt. -
Re: Und was stimmt nun ?
Autor: BLi8819 18.11.22 - 17:05
> Wo soll das stehen?
Der Entwickler nennt sogar mögliche Gründe für die Performance Probleme...
> Statt einfach einzustehen, dass ihr Idol ein Idiot ist und sich so auch benimmt.
Musk ist nicht mein Idol. Er verkörpert so ziemlich alles, was ich am Kapitalismus verabscheue. Deshalb beschimpfe ich ihn aber nicht. Wozu auch. Da kann ich mein Zeit besser verwenden.



