Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Download Methode bring Server in den Status "No buffer space available"
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

Download Methode bring Server in den Status "No buffer space available"

beantworten | zitieren | melden

Hallo Community,

kurz und knapp: Ich habe eine App gebaut die soweit ganz gut funktioniert. Auch das Nachladen großer Inhalte funktioniert soweit. Nun ist meine App seit gestern Abend im AppStore und mitmal funktioniert mein Server so gar nicht mehr. Alle Dienste geben auf mit "No buffer space available"-Fehlermeldungen. Da hier auch mein Mailserver sowie einige andere wichtige Dienste für mich laufen, ist dies sehr unschön. Mein Verdacht ist nun, das irgendwas an meiner Download Methode fehlerhaft ist. Diese sieht wie folgt aus:

using (var stream = client.OpenRead(basePath + ".mbtiles"))
{
	try
	{
		using (var fileStream = new FileStream(targetFilePath, FileMode.Create))
		{
			using (var writer = new BinaryWriter(fileStream))
			{
				byte[] buffer = new byte[1024];
				_totalBytes = long.Parse(client.ResponseHeaders[HttpResponseHeader.ContentLength]);

				if (_totalBytes % 1024 != 0)
				    _totalBytes = Convert.ToInt32(_totalBytes / 1024) * 1024 + 1024;

				while (true)
				{
				    int bytesRead = stream.Read(buffer, 0, buffer.Length);
				    if (bytesRead == 0)
				        break;

				    writer.Write(buffer);

				    _receivedBytes += bytesRead;
				    DownloadProgress = 1f / _totalBytes * _receivedBytes;
				}
			}
		}

		DownloadProgress = 1;
	}
	finally
	{
		stream.Close();
	}
}

Das ganze wird in einer Xamarin.Forms Anwendung genutzt. Zum Glück ist bisher nur die iOS Version raus da die Android Userbase wesentlich größer war und ich jetzt schon immens mit diesen Problem zu kämpfen habe und auch keine wirkliche Lösung habe. Kann mir da jemand helfen, was falsch läuft? Warum wird der ganze Ubuntu 14.04 Server so zerlegt? Allerlei Dienste laufen nun nicht mehr, sowohl der Zarafa Mailserver als auch die Datenbankverbindung zwischen Wordpress und meiner MySQL DB wollen nicht mehr so recht.
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.954

beantworten | zitieren | melden

Und was wird da als mbtiles runtergeladen?

Dir ist schon bewusst, das wenn du da tatsächlich mal 1000 Leute hast das das jeden normalen Server in die knie zwingt.
Warum meinst du gibt es Loadbalancer und Cloud Dienste?
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Die Variable "basePath" ist hierbei der Basis-Pfad zu einen von möglichen 5 Servern. Nur einer geht bisher absolut in die Knie. Problem ist, aktuell bricht der Download ab wenn das Gerät in Standby geht. Sprich die vollen 300MB müssen erneut geladen werden. Die *.mbtiles Datei ist hierbei einen OpenStreetMap Tiles-Datenquelle, da meine App eine fiktive Karte Anzeigt.
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Ich tippe auf ein konzeptionelles Problem.
Zitat
No buffer space available
besagt, dass in diesem Fall sehr wahrscheinlich einfach die verfügbaren Ressourcen von RAM oder Netzwerkkarte am Limit sind. Kann also gut sein, dass das gar nicht die Last Deines Codes ist, sondern, dass Dein Server am Limit ist.
Aber das kannste ja ganz einfach am entsprechenden Server nachschauen.

Was hat Deine Sizing Berechnung ergeben, was Du für eine Serverlast und MB/s hast, wenn Du n Downloads und Nutzer hast? Wie viel Nutzer können Zeitgleich von Deinen Servern bedient werden?
Wenn Du hier kein Sizing betrieben hast, dann ist das rein fahrlässig und eine Fahrt gegen die Wand quasi garantiert.
FZelle hat schon das richtige gesagt: nicht umsonst gibt es flexible Cloud-Dienste.

Dein Code in hübsch sieht so aus:

using (var stream = client.OpenRead(basePath + ".mbtiles"))
{
    using (var fileStream = new FileStream(targetFilePath, FileMode.Create))
    using (var writer = new BinaryWriter(fileStream))
    {
        byte[] buffer = new byte[1024];
        _totalBytes = long.Parse(client.ResponseHeaders[HttpResponseHeader.ContentLength]);

        if (_totalBytes % 1024 != 0)
            _totalBytes = Convert.ToInt32(_totalBytes / 1024) * 1024 + 1024;

        int bytesRead = -1;
        while ( (bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
        {
            writer.Write(buffer);

            _receivedBytes += bytesRead;
            DownloadProgress = 1f / _totalBytes * _receivedBytes;
        }
    }

    DownloadProgress = 1;
}

Was für eine Anwendung läuft auf Deinem Server, der die Daten ausliefert? Nutzt Du hier eine entsprechende Technologie wie ASP.NET? Hier gibt es Best Practises bei großen Daten oder Streams.

Wieso arbeitest Du nicht mit Chunks?

Aber aus persönlicher Sicht: muss der Nutzer wirklich 300MB (!) runterladen?
Mein Google Streep Map Cache meiner Stockholm-Umgebung (und das sind ca. 40x40km) sind 122 MB Download.
Meinste nicht, das geht auch effizienter - eben weil es eine App ist und man mobil unterwegs ist?

OpenStreetMap bietet doch soweit ich weiß optimierte Dateien an, weil die *.osm eben auf XML basieren und diese riesig sind. o5m und pfd(?)
Und da seine war besonders klein und das andere besonders schnell zu bearbeiten. Das hast Du beachtet?
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Hallo Abt und vielen Dank für deine Antwort. Um Ehrlich zu sein, hatte ich mit maximal 1000 User in der ersten Woche gerechnet - es sind nun knapp 3000 nach zwei Tagen. Somit ist meine Schätzung und Rechnung eh eher für den Hintern. Dennoch würde es Mathematisch reiche - solange nicht alle parallel laden was aber eigtl. ganz gut vermieden sein sollte da die App Global verfügbar ist.

Aktuell liegt die Datei quasi als Plain-Download im Apache bzw. auf den Windows Maschinen im IIS. Chunks wären evtl. noch eine Verbesserung, wobei es für mich aktuell erstmal gilt das ganze in den Griff zu bekommen.

Für die 300MB Datei gibt es noch eine alternative 82MB Datei. Viel kleiner kann ich diese Datei aber nicht bekommen aufgrund der geforderten Zoom-Stufen und weil die verwendete Library derzeit nur die unkomprimierten *.mbtiles Unterstützt. Letz endlich sind in dieser Datei auch nur die Karten-Tiles und keine Informationen wie Straßen usw. enthalten.

Ich denke ich könnte viel Overhead-Belastung entfernen, würde der Download nicht ständig im Standby Modus abbrechen. Gibt es vielleicht fertige Libraries die soetwas handeln? Evtl. auch welche, die allgemein den Datei Download optimieren würden zwecks Geschwindigkeit / Performance? Das Projekt ist Xamarin.Forms mit Shared Code, also recht offen für externe Libraries. Sollte das ganze evtl. auf alternativen umgebaut werden? Evtl. FTP statt HTTP?
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Sebastian1989101
Hast du mal, wie von Abt schon vorgeschlagen, mal die generelle Last deines Servers geprüft?
Tools für Linux gibt es hier einige.

Empfehlen kann ich atop, htop, iftop, iotop
atop dürfte sogar die beste Möglichkeit sein, da du dort auch siehst wie der RAM ausgelastet ist, aufgeteilt in die Buffers und den dirty RAM.
Dürfte dir bei der Analyse helfen.

Ansonsten kannst du ggf. deine App Testweise X mal starten und schauen ob das Problem auftritt.
Ein einfacher Test Console Client mit deinem Code dürfte auch reichen um das Problem zu prüfen.
Ob man gleich eine Cloud Lösung braucht, glaube ich nicht so ganz.
Hier könnte ein einfacher Dedizierter Server mit genug Leistung schon reichen.
Da wir auch deine aktuelle Kiste nicht kennen, würde ich fast von einer kleinen VM Lösung ausgehen.
Oder hast du schon einen entsprechenden Server?

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Die Server sind alle virtuelle Server. Jeder der Server hat 4GB RAM zur Verfügung. Sobald der Apache beendet wird, ist die Auslastung quasi nicht mehr vorhanden. Ebenso wenn ich alle Requests mit dem Dateinamen in der Firewall blockiere.
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Zitat von Sebastian1989101
Um Ehrlich zu sein, hatte ich mit maximal 1000 User in der ersten Woche gerechnet - es sind nun knapp 3000 nach zwei Tagen.

Es geht um die maximal zeitgleichen User und nicht um die Downloads.
Machst Du hier kein ordentliches Sizing, dann kannst Du jegliche Annahme vergessen und wirst wieder gegen die Wand fahren.

Du hast immer noch nicht gesagt, wer oder was Deine 300 MB Datei an den Client schickt.
Du wirst ja wohl kaum eine Xamarin Forms Anwendung auf dem Server laufen haben.

Ein Server hat hier auch mehr Randinformationen als 4 GB RAM.
Insbesondere scheint I/O und Bandbreite für Dich eine Rolle zu spielen.
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Abt
Ich vermute mal, dass er über Apache einen Http Download macht.
Lässt sich aber aus dem Code selbst nicht ableiten, nur dem letzten Kommentar von Sebastian1989101.

@Sebastian1989101
Nutzt Apache auch Caching?
Wäre blöd wenn er die Datei immer wieder lesen muss.
Solltest du mal prüfen.

Ansonsten wäre eben noch zu prüfen wie viel RAM im Schnitt zur Verfügung steht.
4 GB sind bei einer VM mit X Diensten + Datei Caching dann abhängig von der Last doch recht knapp.
Zur not würde einfach mehr RAM bei deiner VM das problem lösen.
Hier musst du aber mal mit den Tools, die ich dir oben genannt hatte, mal den Speicherverbrauch prüfen.
Hier hilft auch atop ganz gut.

Ggf. musst du auch mal prüfen ob der Kernel ggf. nicht swappen kann.
Also auch prüfen ob du eine Swap Partition/Datei hast und ob in der sysctl.conf unter /etc auch vm.swappiness einen Wert über 0 hat.
Ist beides nicht der Fall, würde es erklären warum dein RAM voll läuft und die Dienste sich alle verabschieden.

Da du auch noch eine DB auf dem Kasten laufen hast, würde ich den RAM definitiv auf 8 GB erhöhen.
MySQL dürfte sich schon einiges an RAM sichern, was dann den restlichen Diensten fehlt.

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Warum die Datei nicht auf einen CDN legen, wenn es bisher ein einfacher, statischer Download ist über Apache ist, was sich für mich jetzt zuerst nicht so angehört hat.
Dafür braucht man weder nen eigenen Server noch gar ne eigene Software. Und um Welten günstiger.
30 GB Download würde vermutlich keine 5€ bei den gängigen (Azure, Akamai, AWS) kosten.
private Nachricht | Beiträge des Benutzers
Spook
myCSharp.de - Member



Dabei seit:
Beiträge: 241
Herkunft: Esslingen a.N.

beantworten | zitieren | melden

Hallo,

writer.Write(buffer, 0, bytesRead);

müsste es noch heißen.

Grüße
spooky
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

@Abt:
Alles über Kostenlos ist nicht "günstiger" da der Server, welchen ich ohnehin gemietet habe für Mails, Web, etc., vorhanden ist. Der Download ist eine statische Datei. Wie du auf 30GB kommst weiß ich auch nicht, der Traffic auf dem Server liegt derzeit bei ~480GB / Tag seit Release => 3000 Clients * 300 MB = 900000 MB = 900 GB.

@T-Virus:
Nicht einmal das nachinstallieren von Software wie atop klappt ohne den Apache zu stoppen. In der Datei "sysctl.conf" steht leider gar nichts mit "swap" drin. Der Befehl "swapon -s" gibt folgendes zurück:

Filename Type Size Used Priority
/dev/null partition 4194304 0 -1

Bei "free -m" sieht die Ausgabe wie folgt aus:

total used free shared buffers cached
Mem: 8192 2235 5956 101 0 623
-/+ buffers/cache: 1611 6580
Swap: 4096 0 4096

Ist das korrekt so? Oder bedeutet das, dass der Swap fehlt?

Back to Topic: Es ging eigtl. nur darum, ob der Code so okay ist oder die Ursache dafür sein könnte. Was beim Server dann Sinnvoll ist, ist nochmal was anderes, wobei ich hier auch für Tipps dankbar bin den im Vergleich zur Softwareentwicklung habe ich den Teil leider nie richtig gelernt.
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Sebastian1989101
Wenn du nicht mal atop etc. ohne das Problem installieren kannst, liegt das Problem an deiner VM und nicht an deinem Code.

Schau mal mit atop/htop wie der RAM aussieht.
Buffers in free klingen schon nach 1.6GB.
Sollte dir auch in atop angezeigt werden.
Du solltest mal schauen ob dir dmesg bzw. sogar /var/log/syslog Infos ausspuckt.
Hat aber mit deinem Code soweit nichts mehr zu tun.

Nachtrag:
Die Anzeige von swapon -s sieht falsch aus.
/dev/null kann nicht richtig sein, hier scheint kein richtiger Swap konfiguriert zu sein.
Solltest du mal dringend prüfen und anpassen.
Schau mal was in /etc/fstab steht.
Dort dürfte die Swap Partition gemountet werden, was mit dem Pfad /dev/null drin stehen dürfte.

Mein Homserver zeigt folgendes an:
Filename Type Size Used Priority
/dev/sdb5 partition 15626236 0 -1

T-Virus
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von T-Virus am .
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Zitat von Sebastian1989101
Alles über Kostenlos ist nicht "günstiger" da der Server, welchen ich ohnehin gemietet habe für Mails, Web, etc., vorhanden ist.
Deine Zeit und Reputation ist also nichts wert?
Zitat von Sebastian1989101
Wie du auf 30GB kommst weiß ich auch nicht
Fiktive Annahme, die sich bei Deinen Zahlen leicht auf konkrete hochrechnen lassen.
Zitat von Sebastian1989101
Der Download ist eine statische Datei.

Warum dann überhaupt über Code ausliefern und nicht den Webserver die Verantwortlichkeit geben?
Konkrete Gründe, anhand denen man Dir einen Vorschlag machen kann?

PS: Traffic ist nirgends kostenlos, auch bei Deinem Server nicht.
Evlt. hast Du eine "Traffic Flatrate" aber ich kenne keinen Anbieter, der keine Fair-Use Klausel hat.
Sprich "Traffic Flaterate" zB. nur für 10 TB oder 50 TB / Monat gilt und danach entweder ne Zahlung notwendig ist oder eine Drosselung der Bandbreite.
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

atop läuft bei mir wie folgt ab:

root:/# sudo atop
activate process accounting: Operation not permitted
warning: no process exit detection (not superuser)!
unexpected calloc-failure...

In /etc/fstab steht dies drin:
proc /proc proc defaults 0 0
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /run/shm tmpfs defaults 0 0

Der Syslog wird leider aktuell von den crashenden Diensten ein wenig gefüllt so dass das Arbeiten damit sehr schwierig ist.

Edit: Gerade von einen Kumpel der sich sehr gut mit Servern auskennt und auch bei HostEurope hosted, folgende Aussage bekommen: "OpenVZ vms haben keinen swap".
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sebastian1989101 am .
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
Deine Zeit und Reputation ist also nichts wert? :baby:
Die Reputation schon, die Zeit geht so. Schließlich will ich Dinge die ich nicht richtig mache erlernen - wozu sicherlich auch die Verwendung solcher Dienste gehört, allerdings wollte ich gerne auch die vorhandenen Ressourcen nutzen.
Zitat von Abt
Warum dann überhaupt über Code ausliefern und nicht den Webserver die Verantwortlichkeit geben?
Was genau meinst du damit? Aktuell lädt der Code doch einfach die Datei in einem Binär-Stream herunter, oder habe ich da etwas falsch verstanden?
Zitat von Abt
PS: Traffic ist nirgends kostenlos, auch bei Deinem Server nicht.
Evlt. hast Du eine "Traffic Flatrate" aber ich kenne keinen Anbieter, der keine Fair-Use Klausel hat.
Sprich "Traffic Flaterate" zB. nur für 10 TB oder 50 TB / Monat gilt und danach entweder ne Zahlung notwendig ist oder eine Drosselung der Bandbreite.
Konnte zumindest bisher dahingehend nichts finden bei HostEurope. In den AGB's gibt es lediglich einen Eintrag für die Server die nicht mit Traffic-Flat bestellt werden.
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Also, da haben wir doch mal den Anbieter und Du hast von vServer geredet. Da scheint es tatsächlich kein Fair Use Limit zu geben. Grund siehe womöglich in der Berechnung:
Der Server hat nur 100 Mbit/s - das sind 12MB/s. Es gibt private Internetanschlüsse, die haben mehr ;-)

Ein Download bei 300MB braucht also mindestens 25 Sekunden pro User. Das sind 4 User pro Minute, die Dein Server an der Netzwerkkarte beliefern kann.
Das macht theoretisch 240 Benutzer pro Stunde oder 5760 User am Tag - ohne Peak gerechnet und bei Dauerhafter 24h Auslastung.
Dein Server schafft an der Netzwerkkarte maximal ~1TB pro Tag, was ~30 TB im Monat macht.
Fair Use sind bei anderen Anbietern je nach Tarif zB. 50 TB.
Da wundert es mich nicht, dass es eine unlimitierte Traffic Flatrate ohne Fair Use gibt ;-)
Soviel zu den theoretischen Werten, wenn ich mich nicht völlig verhaspelt habe.

Du wirst also sehr sehr schnell an das Limit der Netzwerkkarte bzw. Bandbreite kommen.
Vermutlich schon bei wenigen Dutzend Benutzern zeitgleich. Da kannste am Code ändern soviel wie Du willst.
Deine 3000 Benutzer sprechen sich ja nicht ab, dass sie nacheinander behandelt werden, sondern oft zu gewissen Tageszeiten; und dann biste plötzlich bei 500 pro Minute.
Die Infrastruktur, Deine vServer sind für das Szenario bei den Datenmengen nicht wirklich geeignet; vor allem bei Peaks nicht.

Diese Berechnung ist auch Deine Ausgangslage, damit Du überhaupt errechnen kannst, wie viel User zu Zeitgleich oder pro Tag überhaupt beliefern kannst.
Das wäre der erste Schritt, den Du hättest tun sollen :-)

Versteh mich nicht falsch; die App scheint ja gut anzukommen - schon mal Respekt dafür - aber die Basis stimmt in meinen Augen für diese Zahlen nicht.
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Sebastian1989101
Laut HostEurope Seite scheint deine VM wirklich unlimitierten und unbegrenzten Traffic zu haben.
Peak Bandbreite wird mit 100 MBit/s angegeben, was soweit okay ist.
Passt also und sollte soweit auch reichen, auch wenn X Clients dann deine gesamte Brandbreite auslasten können.
Oder ein Client mit 100+ MBit/s.
Reicht aber bei einer VM sonst müsstest du schon auf einen dedizierten Server umsteigen.

Zu deinem Problemen.
Ich würde mich mal an Host Europe wenden.
Kann ggf. sein, dass der Host Server, auf dem die VM läuft, keine ausgeglichenen Resourcenverteilung hat.
Entsprechend wird vermutlich der Server mehr Resourcen verteilen als er hat.
Musst du also mit den klären.

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
dannoe
myCSharp.de - Member



Dabei seit:
Beiträge: 192

beantworten | zitieren | melden

Zitat von Sebastian1989101
Konnte zumindest bisher dahingehend nichts finden bei HostEurope. In den AGB's gibt es lediglich einen Eintrag für die Server die nicht mit Traffic-Flat bestellt werden.

Aber in diesem Dokument findet man etwas das du trotzdem beachten solltest:
Zitat
Der entstehende Traffic ist bei allen „Virtual Server 8.2“ inklusive. Für „Virtual Server 8.2“ garantiert HE eine Peak-Bandbreite von 100 Mbit/s. Bei dauerhafter Überschreitung der genutzten Bandbreite von 50 Mbit/s im Wochenmittel behält HE sich das Recht vor, die Bandbreite auf 50 Mbit/s zu limitieren. Die Drosselung kann durch HE nach Rücksprache mit dem Kunden wieder aufgehoben werden.

Ob du einen 8.2 Server hast, weiß ich leider nicht. Ich konnte auch die aktuelle "Version" der Virtual Server im HE Shop nicht erkennen.
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Zitat von dannoe
Ob du einen 8.2 Server hast, weiß ich leider nicht. Ich konnte auch die aktuelle "Version" der Virtual Server im HE Shop nicht erkennen.
Meiner ist ein 8.0. Lediglich mein Windows Server bei denen ist ein 8.2.

Edit: Ich habe das ganze jetzt erstmal mit Apaches Bandwidth modul "mod_bw" limitiert, damit die Server Dienste nicht weiterhin Abstürzen. Mal sehen wie ich das in Zukunft besser lösen kann.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sebastian1989101 am .
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Sebastian1989101
Du hattest doch geschrieben, dass auch die Installation eines Pakets die Dienste abgesägt hat.
Dann kann dies ja kein Apache Problem sein.
Ebenfalls hatte ich dich wegen der Swap Partition hingewiesen, diese mal mit Host Europe zu prüfen.
Aktuell hast du keine gültige Swap Partition.
Wenn dein RAM ausgeht, knallen auch deine Dienste weg.

Ich würde mir auch überlegen einen dedizierten Server zu mieten.
Am besten dann aber auch mit einer 1GBit/s Anbindung.
Dürfte dann RAM technisch sowie von der Anbindung besser sein als mit einer VM.
Gerade wenn man viele Resourcen benötigt, wollen die Hoster dich dann nicht in einer VM lassen.
Hatte das gleiche Spiel auch bei Server4You.
Dort wurde mir dann auch geraten einen eigenen Server anstelle einer VM zu nehmen, da meine VM damals zu viele Host Resourcen verwendet hatte.
Gerade da du deine VM für alles mögliche nutzt, solltest du dir einen eigenen Server mieten.

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Sebastian1989101
myCSharp.de - Member

Avatar #avatar-3396.gif


Dabei seit:
Beiträge: 241
Herkunft: Uchte

Themenstarter:

beantworten | zitieren | melden

Gibt es den einen Anbieter den du empfehlen kannst? Weil bei HE sind auch die dedizierten Server "nur" mit 100 MBit/s angebunden. Wie oben bereits erwähnt, habe ich von einen Freund, welcher ein sehr guter Systemadministrator ist, erfahren dass es kein SWAP dort gibt, siehe: "OpenVZ vms haben keinen swap". Da er sich nur mit Server Themen beschäftigt und selber einige Hostet, vertraue ich seiner Aussage Blind.

Edit: Irgendwie scheint dass, was HE unter dedizierte Server aufführt, auch nur virtuell zu sein. Sonst würde die Angabe an "vCores" keinen Sinn machen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Sebastian1989101 am .
WAGO Kontakttechnik GmbH & Co. KG / Software Notion
Softwareentwicklung

C# .NET with WPF, ASP, Xamarin and Unity
Personal Blog: Development Blog
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Sebastian1989101
Ich nutze seit Jahren Server4You.
Aktuell ist bei den Root Servern auch wieder die Einrichtungsgebühr entfallen.
Kostet 49,99€ und ist monatlich kündbar.
Hier gibt es dann aber die Fair Use Klausel.
Müsstest also erst einmal das Angebot prüfen.

Scheinbar hat Host Europe nur Root Server die wahrscheinlich auf dedizierter Hardware laufen aber dann in einer dicke VMs stecken.
Kann man nehmen, besser wäre aber ein Server ohne VM.

Link:
https://www.server4you.de/dedicated-server

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers
Deaktiviertes Profil
myCSharp.de - Member



Dabei seit:
Beiträge: 985

beantworten | zitieren | melden

Zitat von Sebastian1989101
Irgendwie scheint dass, was HE unter dedizierte Server aufführt, auch nur virtuell zu sein. Sonst würde die Angabe an "vCores" keinen Sinn machen.
Dann hast du dir die Root-Server angeschaut, und da steht doch ganz klar:
Zitat
Root-Server
Das Beste aus zwei Welten: Dedizierte Festplatten plus Virtualisierungskomfort
Also ein Virtual Server mit eigenen Festplatten.

Was du suchts findest du unter Private Cloud Server
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.482

beantworten | zitieren | melden

Also ich hab schon öfter, bei solchen Traffic-Lasten, Hetzner gewählt.
Die Serverpreise sind Fair und die Traffic-Fair-Use für 99% der Leute ausreichend - und jeder Server hat nen eigenen 1 GBit/s Uplink.

Aber immer noch: auch Traffic kostet Geld und Deine Anwendung ist und bleibt sehr Traffic lastig.

Die Garantierte Bandbreite bei server4you ist auch "nur" 200 MBit/s.
Das scheinen sich mehrere Server einen Uplink zu teilen. Aber ist in Cloud-Umgebungen nicht anders; je nach Instanzgröße hast Du andere throughput Limits
private Nachricht | Beiträge des Benutzers
T-Virus
myCSharp.de - Member



Dabei seit:
Beiträge: 1.904
Herkunft: Nordhausen, Nörten-Hardenberg

beantworten | zitieren | melden

@Abt
Stimmt.
Das Problem bei Server4You ist, dass eben die Server selbst zwar eine 1Gbit Ethernet Schnittstelle haben, aber an einem Switch mit X Servern nach draußen gehen.
Entsprechend gibt es nur die 200 MBit/s garantiert.

Wenn Hetzner hier einen garantierten 1 Gbit Port + gute Fair Use Klausel hat, dann solltest du Hetzner nehmen.
In der Regel hatte ich aber bei server4You zwischen 400 bis 800 MBit/s.
Hatte da aber wohl auch einen guten Swtich erwischt :)

T-Virus
Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
private Nachricht | Beiträge des Benutzers