Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: Upload Speed Problem

  1. #1
    Senior Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428

    Upload Speed Problem

    Ich hoffe, das einer von euch mir helfen kann. Bei Stackovflow hiess es bisher nur: Das kann viele Gründe haben (you don't say)

    Mein Upload Tool erreicht bei Uploads zu Google (andere Dienste hab ich noch nicht implementiert) auf allen Geräten "nur" eine Geschwindigkeit von ca 200Mbps. Dabei ist es egal, ob ich 5 oder 20 Files paralell uploade.
    Wenn ich hingegen das Tool 5 mal starte und 5 mal 5 Dateien paralell hochlade, erreiche ich die GBit Grenze.

    Irgendjemand ein Hauch einer Idee wer da limitiert? Google kanns kaum sein, da sie nicht unterscheiden können ob der Upload von einer neuen Instanz oder einem neuen Thread innerhalb der gleichen Instanz, kommt.

    Vielleicht Haze

  2. Werbung - Hier werben?
  3. #2
    Senior Avatar von Nimbus
    Registriert
    Oct 2015
    Beiträge
    562
    Gefällt mir!
    96
    Du gefällst: 574
    Vermutlich teilen sich die parallelen Uploads eine Ressource/Instanz. Keine Ahnung wie genau du das implementiert hast, daher spekuliere ich einfach mal. Das kann irgendetwas sein, was die Verbindungen handelt oder es liegt womöglich daran, dass du dich nur einmal bei Google authentifizierst pro Instanz des Programms (quasi 1 authentifizieren und 5x uploaden vs. 5x authentifizieren und 5x uploaden)

  4. #3
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Das war auch meine erste Vermutung, deshalb ist das nun nicht mehr so. Jeder Upload authentifiziert sich bei Google. Aber natürlich läuft alles in der selben exe (instanz).

  5. #4
    Junior
    Registriert
    Mar 2015
    Beiträge
    87
    Gefällt mir!
    11
    Du gefällst: 45
    Connectiontion-pooling, cookies, .... sind ein paar der faktoren, die hier dazu spielen. Ohne konkreten Code ist das nahezu unmöglich zu sagen. Kannst du hierzu noch futter liefern?

  6. #5
    Orakel von Delphi Avatar von 1stAid
    Registriert
    Dec 2015
    Beiträge
    267
    Gefällt mir!
    86
    Du gefällst: 226
    Du kannst versuchen mehrere anonyme Threads zu starten. Erstmal ohne Rückmeldung. Wenn du dann vollen Speed hast, bau darauf auf.
    Es könnte aber auch die Verwaltug/Overhead sein die drosselt.
    Es kann wirklich viel sein.

  7. #6
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Ich hab nun eben gesehen, dass der z_o_o_m Uploader bei Google exakt das selbe Problem hat Und das nur bei GD.
    Ist also doch irgendwie ein GD Problem.

    Hier mal der Code

    Ein Upload eines Files (Auszug)
    Code:
    Dim service = newGDService()
    Dim uploadStream As FileStream
    uploadStream = File.OpenRead(localpath)
    Dim insertrequest As FilesResource.CreateMediaUpload = New FilesResource.CreateMediaUpload(service, body, uploadStream, mimeType)
    AddHandler insertrequest.ProgressChanged, Sub(e As IUploadProgress) GD_UploadProgressChanged(e, Id)
    insertrequest.ChunkSize = 256 * 4 * 1024 * chunksize_
    Dim answer = insertrequest.Upload()
    uploadStream.Dispose()
    Code:
    Function newGDService()
       ' Create Drive API service.
       Dim service As DriveService
       Using stream = New FileStream(System.AppDomain.CurrentDomain.BaseDirectory + "client_secret.json", FileMode.Open, FileAccess.Read)
        credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, New FileDataStore(credPath, True)).Result
             End Using
             service = New DriveService(New BaseClientService.Initializer() With {.HttpClientInitializer = credential, .ApplicationName = "simpleGDM"})
             Return service
    End Function

  8. #7
    Junior
    Registriert
    Mar 2015
    Beiträge
    87
    Gefällt mir!
    11
    Du gefällst: 45
    Mich verwirrt doch immer wieder das "C#"-Tag und der VB-Code ....
    Kannst du nen converter empfehlen?

  9. #8
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Ich kann kein VB Tag setzten das das nicht gibt Und das Problem ist ja in C# das selbe

    Und ja Code Converter ist recht gut.

    Code:
    dynamic service = newGDService();
    FileStream uploadStream = default(FileStream);
    uploadStream = File.OpenRead(localpath);
    FilesResource.CreateMediaUpload insertrequest = new FilesResource.CreateMediaUpload(service, body, uploadStream, mimeType);
    dynamic answer = insertrequest.Upload();
    uploadStream.Dispose();
    Code:
    public object newGDService()
    {
        // Create Drive API service.
        DriveService service = default(DriveService);
        using (stream == new FileStream(System.AppDomain.CurrentDomain.BaseDirectory + "client_secret.json", FileMode.Open, FileAccess.Read)) {
            credential = GoogleWebAuthorizationBroker.AuthorizeAsync(GoogleClientSecrets.Load(stream).Secrets, Scopes, "user", CancellationToken.None, new FileDataStore(credPath, true)).Result;
        }
        service = new DriveService(new BaseClientService.Initializer {
            HttpClientInitializer = credential,
            ApplicationName = "simpleGDM"
        });
        return service;
    }
    - - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -

    Aber da das Problem anscheinend doch Google bedingt ist (z_o_o_m Vergleich), kann ich das Problem nun versuchen anzugehen.
    Ich bin ja schon mal froh zu wissen, das dort das Problem liegt.

    Die neue Frage lautet: Wie merkt Google, dass ich von der selben Instanz komme?

    Also ob die obrige Funktion im thead 4 von instanz a oder im thead 22 von instanz b läuft?

    Denn eben die 200Mbit sind ja pro Instanz.

    Wenn ich nichts finde muss ich halt den Upload in eine eigene exe outsourcen, die als windowsdienst im Hintergrund läuft und den Uploadstatus an die main exe weitergibt. Ich wäre aber froh, wenn ich das in einer exe lösen könnte.

  10. #9
    Junior Avatar von netbios2k3
    Registriert
    Mar 2015
    Beiträge
    89
    Gefällt mir!
    144
    Du gefällst: 76
    Falls du auf Google Drive uppst, die haben ein Speedlimit.
    Mehr wirst du nicht erreichen.

  11. #10
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Natürlich erreiche ich mehr ;-) bis zu 2.5Gbit (mehr konnte ich nicht testen). Dazu muss mein Tool nur paralell laufen. Und genau das verwundert mich so.



    rot 1 instanz blau 5 instanzen
    Geändert von maz (24.08.2016 um 16:52 Uhr)

  12. #11
    x21
    Gast
    Könnte jetzt falsch liegen da ich nur Grundkenntnisse in C# habe aber hast du versucht für jede Datei die du hochladen willst eine neue " newGDService(); " zu erstellen ?

    // keine Garantie das das funktionieren wird - hab nur Grundkenntnisse

  13. #12
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Genau so wird das gemach
    Ich hol mir für jeden Fileupload eine neue Zugrifsberechtigung, obwohl das nicht notwendig wäre.
    Zuerst hab ich das nur beim Start einmalig gemacht, es dann aber geändert, da ich wie du annahm das würde helfen.

  14. #13
    Anfänger
    Registriert
    Dec 2015
    Beiträge
    12
    Gefällt mir!
    4
    Du gefällst: 12
    Ich kenne mich mit VB nicht und mit .NET nur wenig aus. Was mir aber auffällt ist, dass hier bisher gar nicht richtig zwischen deinen beiden Testfällen unterschieden wurde. Mehrere Threads sind schließlich etwas anderes als mehrere vollkommen unabhängige Prozesse. Ich vermute, dass dir die .NET-Runtime einen Strich durch die Rechnung macht.

    Hast du mal versucht, mit Wireshark o.Ä. zu untersuchen, ob dein Programm überhaupt alle Verbindungen "gleichzeitig" aufbaut? Ich vermute, dass zu einem Zeitpunkt immer nur ein Teil deiner Uploads läuft und der Rest warten muss.

    Eine andere Frage: Benutzt du HTTP(S) für die Uploads?

  15. #14
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Das Problem hat sich geklärt. Google beschränkt hier bei 200Mbit.
    Bei meinen Test lud ich leider die selbe Datei paralell hoch und dann greift die Speedbegrenzung nicht. Das ist zwar auch etwas seltsam, aber es hilft mir natürlich nichts, da man nichts davon hat, wenn man eine Datei mehrfach hochlädt
    Bei dem Test mit multithreads wurden hingegen verschiedene Dateien hochgeladen.

  16. 25.08.2016, 18:39
    Grund
    Einfach nich ganz gelesen - ignorieren

  17. #15
    Senior
    THEMENSTARTER

    Avatar von maz
    Registriert
    Jan 2016
    Beiträge
    529
    Gefällt mir!
    206
    Du gefällst: 428
    Nein es ist ja genau anders rum beim Upload der selben Datei war der Speed unlimitiert, beim Upload verschiedener Daten ists limitiert.

    EDIT: Ich bin heute noch verwirrter als gestern, es waren sehr wohl exakt die gleichen Dateien einfach mehrfach ausgelesen.
    Geändert von maz (25.08.2016 um 19:06 Uhr)

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. share-online.biz - Routing / Upload Speed von Leaseweb und OVH
    Von Jean im Forum Hoster (OCH, Stream, ...)
    Antworten: 6
    Letzter Beitrag: 19.04.2019, 09:36
  2. openload.io - Remote Upload Problem
    Von RedDevil im Forum Hoster (OCH, Stream, ...)
    Antworten: 1
    Letzter Beitrag: 27.03.2019, 08:27
  3. Upload Speed im Keller
    Von PromillePanzer im Forum IntelliTool.it
    Antworten: 8
    Letzter Beitrag: 26.06.2018, 19:22
  4. Problem beim Upload von Rapigator-Dateien
    Von Dr.Byte im Forum Filecrypt.cc
    Antworten: 2
    Letzter Beitrag: 21.12.2017, 11:27
  5. (Sonstige) - Uploaded.net Upload-Speed
    Von fishfish im Forum Entwicklung / Programmierung
    Antworten: 21
    Letzter Beitrag: 29.02.2016, 22:03

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
SzeneBox.org... im Mittelpunkt der Szene!
© since 2015 szeneBOX.org - All Rights Reserved
Domains: www.szenebox.org