Optimieren der Leistung in Project Server 2013

Zusammenfassung: Enthält Richtlinien zum Optimieren der Leistung für eine Project Server 2013-Bereitstellung.
Gilt für: Project Server 2013

Optimierungen

Dieses Dokument und zugehörige Inhalte enthalten Informationen und Empfehlungen zum Optimieren einer Project Server 2013-Farm für eine optimierte Leistung.

Baselining

Im Allgemeinen wird empfohlen, die Anzahl der zu einem bestimmten Zeitpunkt gespeicherten Basispläne zu beschränken. Maximal können zu einem bestimmten Zeitpunkt jeweils 11 Basispläne unterstützt werden.

Datenbankserveroptimierungen

Da Project Server 2013 eine datenintensive Anwendung ist, kann die Optimierung der Datenbankebene zu erheblichen Leistungssteigerungen führen. Ausführliche Richtlinien zur Optimierung der SQL Server-Einstellungen finden Sie in den Themen zur SQL Server-Speicherkapazitätsplanung und -Konfiguration. In diesem Artikel wird ein Teil der in den SQL Server-Themen genannten Empfehlungen hervorgehoben:

  • Speichern Sie die Datenbankdateien und Transaktionsprotokolldateien getrennt von den Betriebssystemlaufwerken – vorzugsweise jeweils auf einer eigenen Partition. So können E/A-Konflikte zwischen dem Hostbetriebssystem und SQL Server und damit auch zwischen den SQL Server-Datenbankdateien- und -Protokolldateien vermieden werden, die tendenziell unterschiedliche Updatemuster aufweisen, abhängig von der verwendeten Wiederherstellungsstrategie.

  • Speichern Sie die TempDB auf einer eigenen Partition. Teilen Sie die Datenbank in mehrere physische Dateien auf – im Idealfall sollten Sie die Datenbank auf genauso viele Dateien aufteilen, wie Prozessoren auf dem Datenbankserver vorhanden sind.

Ziehen Sie den Einsatz eines RAID-Subsystems in Betracht, um Ihre Datenanforderungen zu erfüllen. Hinweis: RAID 5 ist für mittlere und große Datasetgrößen akzeptabel, RAID 10 ist jedoch ideal.
Hinweis: Verschieben Sie Indizes auf eine eigene Partition.

Optimieren von Hauptprojekten

Wenn Sie in Project Server die Funktion für Hauptprojekte verwenden, beachten Sie, dass Änderungen im Hauptprojektzeitplan sich auf die Zeitpläne von Unterprojekten in den Hauptprojekten auswirken. Daher werden Zeitplanänderungen für sehr große Hauptprojekte möglicherweise langsam ausgeführt, da auch die dazugehörigen Unterprojektpläne aktualisiert werden müssen.

Optimierungen der Sicherheitseinstellungen

Hinweis: Optimierungen sind nicht erforderlich, wenn Sie den SharePoint-Berechtigungsmodus verwenden.

Im Project-Berechtigungsmodus können die Sicherheitseinstellungen, die Sie für Ihre Benutzer auswählen, einen beträchtlichen Einfluss auf die Leistungsmerkmale haben. Sie bestimmen sowohl den Umfang der Daten, die Benutzer beim Anzeigen von Projekten laden, als auch die Komplexität der Sicherheitsprüfungen, die durchgeführt werden, um festzustellen, für welche Gruppen von Daten die Benutzer jeweils Berechtigungen besitzen.

Administratoren haben beispielsweise Zugriff auf alle Projekte, die Sie in Project Server gespeichert haben, und müssen daher bei der Interaktion mit ihnen alle Daten laden. Teammitglieder benötigen möglicherweise nicht Zugriff auf alle Daten, sodass wir die Menge der an sie gesendeten Daten mithilfe von Sicherheitskategorien einschränken können:

  • Verwenden Sie, sofern möglich, Gruppen und Kategorien anstelle von spezifischeren Berechtigungen, die die Komplexität bei Sicherheitsprüfungen erhöhen.
  • Versuchen Sie, die Sicherheitsberechtigungen der Benutzer auf die Projekte zu beschränken, für die sie einen Zugriff benötigen. Auf diese Weise werden für diese Benutzer nur die Daten geladen, die sie für die Interaktion mit Project Server benötigen.

Ansichtsoptimierungen

  • Es sollte versucht werden, die für den Benutzer angezeigten Daten zu beschränken, indem in einer bestimmten Ansicht nur die Spalten angezeigt werden, die Benutzer mit der entsprechenden Berechtigung für die Ansicht sehen müssen. Beachten Sie, dass sich das Hinzufügen von Spalten mit benutzerdefinierten Feldern negativ auf die Leistung auswirkt.

  • Sie können auch Filter verwenden, um den Umfang der Daten zu beschränken, die beim Laden einer bestimmten Ansicht geladen werden müssen. Beachten Sie jedoch, dass für Filter mit komplexer Logik eine zusätzliche Berechnung erforderlich ist, sodass die Leistung beeinträchtigt werden kann.

Optimierungen für benutzerdefinierte Felder

Wie sich die Verwendung benutzerdefinierter Felder auf die Leistung auswirkt, hängt von mehreren Aspekten der verwendeten benutzerdefinierten Felder (sowohl benutzerdefinierte Abteilungsfelder als auch Enterprise-Felder) ab. Im Folgenden finden Sie einige Überlegungen und Vorschläge zu den Leistungsaspekten von benutzerdefinierten Feldern.

  • Die Auswirkung benutzerdefinierter Felder auf die Leistung hängt von bestimmten Faktoren ab. Hierzu gehören:

    • Die Auswirkung benutzerdefinierter Felder auf die Leistung hängt von bestimmten Faktoren ab. Hierzu gehören:

      • Die Menge der in den verwendeten benutzerdefinierten Feldern gespeicherten Daten. (Enthalten diese Felder generell nur wenige Daten, oder ist die Datenmenge in einer bestimmten Spalte mit benutzerdefinierten Feldern sehr groß?)
      • Für Formelfelder gilt: Je komplexer die verwendeten Formeln sind, desto größer ist der negative Einfluss auf die Leistung.
      • Die Ebene, auf der die benutzerdefinierten Felder eingesetzt werden:
    • Die Menge der in den verwendeten benutzerdefinierten Feldern gespeicherten Daten. (Enthalten diese Felder generell nur wenige Daten, oder ist die Datenmenge in einer bestimmten Spalte mit benutzerdefinierten Feldern sehr groß?)

    • Für Formelfelder gilt: Je komplexer die verwendeten Formeln sind, desto größer ist der negative Einfluss auf die Leistung.

    • Die Ebene, auf der die benutzerdefinierten Felder auftreten. Es gibt normalerweise viel mehr Aufgaben als Projekte in einem Dataset. Daher haben die auf Aufgabenebene angewendeten benutzerdefinierten Felder einen größeren negativen Einfluss auf die Leistung als benutzerdefinierte Felder auf Projektebene.

  • Generell sollten Sie versuchen, die Anzahl der zu verwendenden benutzerdefinierten Felder zu beschränken, insbesondere auf Aufgabenebene. Versuchen Sie im Allgemeinen, weniger als 10 bis 15 enterprise custom Fields auf Aufgabenebene zu verwenden.

  • Benutzerdefinierte Aufgaben- und Zuordnungsfelder stellen bei den meisten untersuchten Kundendatasets den primären Engpass beim Speichern von Project Professional-Daten auf dem Server dar.

Optimierungen für lokale benutzerdefinierte Felder

In Übereinstimmung mit den Empfehlungen zur Optimierung benutzerdefinierter Felder gilt auch hier, dass Sie die Verwendung lokaler Formularfelder optimieren können, indem Sie die Anzahl der im Project-Client verwendeten lokalen Formularfelder beschränken.

Die Auswirkungen ihrer benutzerdefinierten Felder auf die Leistung hängen insbesondere davon ab, die Verwendung von Formelfeldern nach Möglichkeit einzuschränken, da sie eine zusätzliche Datenübertragung erfordern, die die Zeit für die Speicherung auf dem Server erhöht.

Optimierungen der Seitennutzlast

Einer der wichtigsten Faktoren bei der Bestimmung der Ladezeit einer bestimmten Seite ist die Datenmenge, auf die bei einer bestimmten Seitenanforderung zugegriffen werden muss. Dies hängt im Wesentlichen von der Anzahl und den Typen der Webparts ab und davon, wie viele Daten sie auf einer bestimmten Seite darstellen. Im Folgenden sind einige allgemeine Empfehlungen für das Beschränken der Nutzlast Ihrer Project Server-Seiten aufgelistet:

  • Beschränken Sie die Datenmenge, die diese Webparts laden, nur auf die tatsächlich notwendigen Daten.

  • Nutzlastüberlegungen sind insbesondere wichtig für Projektdetailseiten (PDPs), die tendenziell eine größere Anzahl von Webparts auf einer bestimmten Seite enthalten und mehr Anpassungen erfordern.

Optimierungen für Warteschlangen

In Project Server 2013 wird ein Warteschlangensystem zur Behandlung von Anfragen eingesetzt, sodass insgesamt eine größere Anzahl von Anfragen bearbeitet werden kann. Bestimmte Einstellungen, die sich auf die Funktionsweise der Warteschlange beziehen, können über die Seite Warteschlangeneinstellungen geändert werden. In diesem Abschnitt wird kurz erläutert, welche Einstellungen geändert werden können und wie Sie die Einstellungen in Bezug auf Ihre Anforderungen optimieren können. Maximale Anzahl von Threads (1-20, Standard 4): Dies bestimmt, wie viele Aufträge die Warteschlange zu einem bestimmten Zeitpunkt parallel verarbeiten kann. Beachten Sie, dass dies für alle Computer in der Farm gilt. Wenn Sie über drei Anwendungsserver verfügen und diesen Wert für die Projektwarteschlange auf 4 festlegen, können Sie bis zu 12 unabhängige Projektaufträge gleichzeitig verarbeiten.

Maximale Anzahl von Threads (1-20, Standard 4): Dies bestimmt, wie viele Aufträge die Warteschlange zu einem bestimmten Zeitpunkt parallel verarbeiten kann. Beachten Sie, dass dies für alle Computer in der Farm gilt. Wenn Sie über drei Anwendungsserver verfügen und diesen Wert für die Projektwarteschlange auf 4 festlegen, können Sie bis zu 12 unabhängige Projektaufträge gleichzeitig verarbeiten.

Wenn Sie feststellen, dass Aufträge in der Warteschlange einer synchronen Arbeitsauslastung umfangreiche Ressourcen wegnehmen, können Sie Folgendes ausprobieren:

Wenn eine große Anzahl von Aufträgen parallel verarbeitet wird (d. h., beim Prüfen des Warteschlangenstatus sehen Sie, dass sich mehrere Aufträge gleichzeitig im Verarbeitungsstatus befinden), können Sie versuchen, die Threadanzahl zu reduzieren.

Optimierungen des Arbeitsauslastungsprozesses

Bestimmte Aspekte der Art, wie Sie Ihre Project Server-Bereitstellung betreiben und verwalten, können dazu beitragen, die wahrgenommene Leistung von Project Server zu verbessern. In diesem Abschnitt werden einige geschäfts- oder IT-bezogene Prozessmodifikationen behandelt, die die wahrgenommene Leistung von Project Server zu Zeiten, in denen Benutzer sehr wahrscheinlich mit dem System interagieren, verbessern können.

  • Arbeitszeittabellen- und Statusübermittlungen:
    • Versuchen Sie, falls möglich, die Zeiten zu staffeln, zu denen Benutzer Statusaktualisierungen und Arbeitszeitblätter übermitteln können. Hierdurch kann die Belastung des Systems zu Spitzenzeiten reduziert werden, indem die Last über größere Zeiträume verteilt wird.
  • Sicherungen:
    • Wenn möglich, sollten Sie versuchen, Sicherungsprozesse außerhalb von Spitzenzeiten auszuführen, da dies ressourcenintensive Prozesse sind, die die wahrgenommene Leistung für Benutzer verringern, die versuchen, das System während der Ausführung zu verwenden.
  • Reporting:
    • Wie bei Sicherungsprozessen sollten Sie versuchen, die Erstellung von OLAP-Cubes für die Berichterstellung in Zeiten außerhalb von Spitzenzeiten auszuführen, da dies ressourcenintensive Prozesse sind, die die wahrgenommene Leistung für Benutzer verringern, die versuchen, das System während der Ausführung zu verwenden.
  • SharePoint-Berechtigungsmodus:
    • Wenn der SharePoint-Berechtigungsmodus aktiviert ist, ist die Synchronisierung von SharePoint-Benutzern nicht erforderlich, sodass eine bessere Leistung erzielt werden kann.

Workflowoptimierungen

Wenn Sie die Workflowfunktionen verwenden, sollten Sie stets daran denken, welche Auswirkung die folgenden Aktionen auf die Leistung Ihrer Bereitstellung haben:

  • Das Laden der Seite "Workflows ändern oder neu starten" in den Servereinstellung kann lange dauern, wenn in der Datenbank viele Projekte gespeichert sind.
  • Neustarten oder Ändern des Enterprise-Projekttyps (EPT) für eine große Anzahl von Projekten auf der Seite Workflows ändern oder neu starten in den Servereinstellungen.
  • Verwenden eines Genehmigungsprozesses bei einer großen Anzahl von Benutzern.
  • Übermitteln von Projekten zur selben Zeit von einer Workflowstufe, die kein Einchecken erfordert.

Generell wird empfohlen, diese Aktionen zu minimieren oder sie zu Zeiten mit geringem Datenverkehr durchzuführen, um die wahrgenommene Leistung zu optimieren.

Optimierungen für eine benutzerdefinierte Lösung (Programmierbarkeit)

Wenn Sie benutzerdefinierte Lösungen entwickeln, die mit den programmierbaren Project Server-Schnittstellen interagieren, berücksichtigen Sie die folgenden Leistungsempfehlungen:

  • Wenn Sie Ereignishandler bereitstellen, beachten Sie, dass diese synchron sind. Sie sollten vorsichtig sein, wenn Sie in Ihren benutzerdefinierten Lösungen Ereignishandler bereitstellen, da bei einer ineffektiven Verwendung von Ereignishandlern die Leistung von Project Server erheblich beeinträchtigt werden kann.

    Hinweis

    Ereignishandler können auf einem anderen Computer ausgeführt werden.

  • Ihre benutzerdefinierte Lösung sollte versuchen, die Aufrufe von Warteschlangenvorgängen in Project Server zu drosseln, um die Überlastung der Warteschlange zu verhindern.
  • Wenn Sie für Branchenanwendungen die Datenverschiebung zwischen Project Server und anderen Anwendungen automatisieren und dann feststellen, dass die Synchronisierung mit diesen Arten von Anwendungen die Leistung erheblich beeinträchtigt, ist es ratsam, sie nicht zu Spitzenzeiten auszuführen.
    • Es wird dringend empfohlen, dass Kunden die Leistung der Branchenanwendung testen und überwachen – zusätzlich zu der von den Benutzern wahrgenommenen Leistung.
    • Versuchen Sie, sofern möglich, intrinsische Project Server-Felder anstelle von benutzerdefinierten Feldern zu verwenden, um die gewünschte Synchronisierung zwischen Project Server und den Branchenanwendungen zu erzielen.
    • Versuchen Sie, die Daten, die Sie zwischen Branchenanwendungen und Project Server verschieben, auf die kleinste Teilmenge zu minimieren, die zum Erzielen der gewünschten Funktionalität notwendig ist.

Im Project Server 2013-SDK und in den verwandten Artikeln finden Sie weitere Empfehlungen zum Aufrechterhalten einer hohen Leistung beim Entwickeln von benutzerdefinierten Lösungen.

Siehe auch

Übersicht über die Leistungs- und Kapazitätsplanung in Project Server 2013

Kapazitätsplanungsstrategie für Project Server 2013

Hardwareempfehlungen zur Leistungs- und Kapazitätsplanung für Project Server 2013

Vertikal und horizontal skalierte Topologien in Project Server 2013

Optimieren der Leistung in Project Server 2013

Leistungsindikatoren in Project Server 2013

Leistungsbezogene Problembehandlung in Project Server 2013

Typische Datasets (Project Server 2013)