Laden...

Serverseitiges Update des Page Contents

Erstellt von Abt vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.050 Views
Abt Themenstarter:in
16.842 Beiträge seit 2008
vor 14 Jahren
Serverseitiges Update des Page Contents

Guten Morgen,

ich suche eine Ressourcen-sparende Möglichkeit, um einen gewissen Bereich in einer Seite zu aktualisieren.
Es sollte - wenn möglich - so ähnlich funktionieren wie http://pusherapp.com/ um eben Ressourcen zu sparen.

Folgendens Szenario:
Ich habe einen Kopierprozess von mehreren Objekten, die zwischen 5kB und 8GB groß sein können - die Dauer des Prozesses ist also nicht bekannt.
Der aktuelle Status, welche und wie viele Objekte kopiert wurden, wird in einer Datenbank hinterlegt.

Ich möchte nun, dass der Anwender den aktuellen Status sieht.
Meine Variante ist aktuell das Ajax-basierte Auslesen der Datenbank alle 2 Sekunden, was aber mit enormen Performanceproblemen beim IE resultiert.

Wie wäre die elegante, vor allem ressourcensparende Variante?

Edit: Ich verwende ASP.NET MVC 2

Grüße vom Abt

1.433 Beiträge seit 2006
vor 14 Jahren

Ich habe einen Kopierprozess von mehreren Objekten, die zwischen 5kB und 8GB groß sein können - die Dauer des Prozesses ist also nicht bekannt.
Der aktuelle Status, welche und wie viele Objekte kopiert wurden, wird in einer Datenbank hinterlegt.

Wird für jedes einzelne Objekt der Status angezeigt?

Ich möchte nun, dass der Anwender den aktuellen Status sieht.
Meine Variante ist aktuell das Ajax-basierte Auslesen der Datenbank alle 2 Sekunden, was aber mit enormen Performanceproblemen beim IE resultiert. Vielleicht würden auch alle 10 Sekunden reichen.

Ist die Objektanzahl auch unbekannt?

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

Abt Themenstarter:in
16.842 Beiträge seit 2008
vor 14 Jahren

Ich habe einen Kopierprozess von mehreren Objekten, die zwischen 5kB und 8GB groß sein können - die Dauer des Prozesses ist also nicht bekannt.
Der aktuelle Status, welche und wie viele Objekte kopiert wurden, wird in einer Datenbank hinterlegt.
Wird für jedes einzelne Objekt der Status angezeigt?

Ja

Ich möchte nun, dass der Anwender den aktuellen Status sieht.
Meine Variante ist aktuell das Ajax-basierte Auslesen der Datenbank alle 2 Sekunden, was aber mit enormen Performanceproblemen beim IE resultiert.
Vielleicht würden auch alle 10 Sekunden reichen.

Ist die Objektanzahl auch unbekannt?

Ich habe es nun auf 25 Sekunden erhöht, was aber ein enormer Informationssprung in der Statusbox darstellt - teilweise braucht Prozess nur 10 Sekunden (5 Objekte mit geringer Größe) - manchmal 50 Minuten ( 800 Objekte mit Größen zwischen 5kB und 8GB ), ja nachdem wie viele Komponenten / Objekte der Anwender selektiert. Die Performance ist etwas besser aber alles andere als Optimal.
Durch die Selektion weiß ich anschließend auch die Anzahl der Objekte. Der Prozess muss aber komplett variabel sein.

3.170 Beiträge seit 2006
vor 14 Jahren

Hallo,

Meine Variante ist aktuell das Ajax-basierte Auslesen der Datenbank alle 2 Sekunden Wie ist das realisiert?
Wird die Statusanzeige schon auf dem Server realisiert oder überträgst Du nur Werte für ein Script, das dann die Seite aufbereitet?

Wenn Dau alles schon auf dem Server fertig aufbereitest und erst in der Antwort einer Ajax-Anfrage der Aufruf für die nächste übermitellst und dann noch 2 Sekunden gewartet wird dürfte das mit der Perfomance gar nicht so schlimm sein.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

B
95 Beiträge seit 2007
vor 14 Jahren

Eigentlich dürfte das clientseitig keine Performanceprobleme geben. Schau dir mal Google an, da wird bei jedem Suchbuchstaben ein Request abgesetzt und es läuft flüssig. Achte darauf, dass du nicht einen Request absetzt, bevor der vorherige nicht beendet wurde.

Abt Themenstarter:in
16.842 Beiträge seit 2008
vor 14 Jahren

Realisiert ist es durch jQuey.
Ein Kollege hat mir den Tipp gegeben das Caching bei jQuery zu deaktivieren und plötzlich läuft es absolut stabil und mit zufriedenstellender Performance - wieso auch immer.

Danke für alle Antworten!

Grüße vom Abt