Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    REST API Performance Optimierung

    Scheduled Pinned Locked Moved Entwicklung
    2 Posts 3 Posters 303 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • L Offline
      leobaer
      last edited by

      Hallo

      Wir wollen per REST API regelmäßig/täglich einen Abzug eines Teil der Daten aus i-doit in unser DWH durchführen. Aktuell ca. 20.000 relevante Objekte und mehrere Kategorien.

      Mit cmdb.objects.read (und limit) bekommt man den Aufruf ja relativ einfach hin. Holt man sich nur Objekte oder einfache Kategorien, so geht das auch recht schnell:

      • 30.000 Objekte: 2s
      • 1.100 Server mit Kategorie Modell: 1s
      • 5.000 Virtuelle Server mit Kategorie Modell: 3s

      Sobald Beziehungs-Kategorien ins Spiel kommen, dauert es deutlich länger:

      • 1.100 Server mit Betriebssystem: 30s

      Ein weiterer Punkt: Durch JDisc werden ein Großteil der Objekte täglich aktualisiert.

      Habt Ihr Ideen oder konkrete Vorschläge bzw. Erfahrungen, so einen Abruf zu optimieren?

      In der Doku wird von "Batch Requests" geredet. Im PDF von "Bulk Request". Hat jemand dazu ein Beispiel oder weitere Info?

      Meine Ideen soweit

      • Ich hole erst alle Objekte und Iteriere dann nur über die geänderten. Durch Jdsic kann ich aber nicht allzu viel reduzieren.
      • I parallelisiere die Abrufe (z.B. auf Objekt-Typen). Dadurch habe ich natürlich mehr programmieraufwand und die Performance des Servers geht runter.

      Grüße
      Leo

      1 Reply Last reply Reply Quote 0
      • U Offline
        uh
        last edited by

        Ich denke das mit "Batch Requests" gemeint ist das man mit JSON-RPC mehrere API Call in einem Request an den Server bündeln kann, statt für jeden API Call einen eigenen Request zu machen.
        Die JSON-RPC Spec fand ich da recht hilfreich zu lesen:
        4 Request object > ID Parameter

        1 Reply Last reply Reply Quote 0
        • First post
          Last post