XenMobile

Optimieren冯XenMobile-Prozessen

在XenMobile和Citrix ADC和SQL Server-Datenbank的配置下,Leistung和Stabilität von XenMobile- prozessen basiert auf vielen einstein在本发明中,die für eine Optimierung von XenMobile am häufigsten zu konfigureren sind。Citrix empfiehlt, dass Sie jede der im Artikel beschriebenen einstein überprüfen, bevor Sie XenMobile bereitstellen。

Wichtig:

在diesen Richtlinien wird davon ausgegangen, dass CPU和Arbeitsspeicher des XenMobile-Servers für die Anzahl der Geräte angemessen sind。Weitere Informationen zur Skalierbarkeit find den Sie underSkalierbarkeit和Leistung

Die folgenden Servereigenschaften gelten global für alle Vorgänge, Benutzer und Geräte einer XenMobile-Instanz。Bei Änderung einiger Servereigenschaften ist in Neustart jedes xenmobileserverknotens erforderlich。你好,我是新来的。

Diese richtlinen zur Optimierung gelten für geclusterte und nicht geclusterte Umgebungen。

hibernate.c3p0.idle_test_period

Diese XenMobile服务器特征列表Schlüssel, mit dem die Leerlaufzeit(在Sekunden) festgelegt wirt, bevor eine Verbindung automatisch überprüft wirt。Konfigurieren Sie den Schlüssel wie im Folgenden beschrieben。死Standardeinstellung坚持30.

  • Schlussel:Benutzerdefinierter Schlussel
  • Schlussel:hibernate.c3p0。idle_test_period
  • 维尔特:120
  • Anzeigename:hibernate.c3p0。idle_test_period
  • 使用说明书:Leerlaufzeit伏尔Ruhezustand

hibernate.c3p0.max_size

Dieser benutzerdefinierte Schlüssel legt fest, wie viele verindungen zur SQL Server-Datenbank von XenMobile最大geöffnet werden können。XenMobile verwendet den für diesen benutzerdefinierten Schlüssel eingegebenen Wert als Obergrenze。死亡的verindungen werden nur bei Bedarf geöffnet。Wählen Sie Ihre Einstellungen je nach Kapazität des Datenbankservers。

Berücksichtigen Sie die folgende Gleichung in einer clusterconfiguration。verindungen multipliziert mit der Anzahl der Knoten entspricht der tatsächlichen Höchstanzahl an verindungen zur SQL Server-Datenbank, die XenMobile öffnen kann。

疯狂的引擎在集群和集群的配置中运行,SQL Server在问题中运行führen。Ein zu niedrig eingestellter Wert bedeutet, dass verfügbare sql - resourcen möglicherweise ungenutzt bleiben。

Konfigurieren Sie den Schlüssel wie im Folgenden beschrieben。Der Standardwert坚持1000

  • Schlussel:hibernate.c3p0.max_size
  • 维尔特:1000
  • Anzeigename:hibernate.c3p0.max_size
  • Beschreibung: DB-Verbindungen mit SQL

hibernate.c3p0.min_size

Dieser benutzerdefinierte Schlüssel legt fest, wie verindungen zur SQL Server-Datenbank von XenMobile mindestens geöffnet werden。Konfigurieren Sie den Schlüssel wie im Folgenden beschrieben。Der Standardwert坚持One hundred.

  • Schlussel:hibernate.c3p0.min_size
  • 维尔特:One hundred.
  • Anzeigename:hibernate.c3p0.min_size
  • Beschreibung: DB-Verbindungen mit SQL

hibernate.c3p0.timeout

Dieser benutzerdefinierte Schlüssel definiert den Wert für Leerlauftimeouts。beeinem Datenbankcluster mit Failover empfiehlt Citrix, diesen benutzerdefinierten Schlüssel hinzuzufügen und einzurichten, um Leerlauftimeouts zu reduzieren。死Standardeinstellung坚持120

  • Schlussel:Benutzerdefinierter Schlussel
  • Schlussel:hibernate.c3p0.timeout
  • 维尔特:120
  • Anzeigename:hibernate.c3p0.timeout
  • Beschreibung: Timeout bei Datenbankleerlauf

Taktintervall der Pushdienste

Diese Einstellung legt fest, wie häufig ein iOS-Gerät prüft, ob zwischenzeitlich eine APNs-Benachrichtigung night zugestellt wurde。Eine Erhöhung der APNs-Taktfrequenz kann die Datenbankkommunikation optimieren。Ein zu hoher Wert kann die Arbeitslast unnötig erhöhen。Diese einstein gilt nur für iOS-Geräte。死Standardeinstellung坚持20.Stunden。

Bei sehr vielen iOS-Geräten in Ihrer Umgebung kann das Taktintervall zu einer unnötigen Erhöhung der Arbeitslast führen。Sicherheitsaktionen wie Selektives Löschen, Sperren und Vollständiges Löschen agieren unabhängig vom Heartbeat: Wenn diese Aktionen ausgeführt werden, wird eine APNs-Benachrichtigung an das Gerät gesendet。Dieser Wert legt fest, wie schnell eine Richtlinie nach Änderungen an einer Active Directory-Gruppenmitgliedschaft aktualisiert wir。我们的生命是永恒的,我们的生命是永恒的。

iOS MDM APNs - Verbindungspoolgröße

Ein zu kleiner apns - verindungpool kann sich negativ auf die APNs-Aktivität auswirken, wenn Sie mehr als 100 Geräte verwenden。Auftretende Leistungsprobleme können eine langsame Bereitstellung von Apps and Richtlinien auf Geräten und eine verzögerte Geräteregistrierung sein。死Standardeinstellung坚持1.Wir empfehlen, diesen Wert für etwa alle 400 Geräte um 1 zu erhöhen。

auth.ldap.connect.timeout

beeiner langsamen LDAP-Antwort empfiehlt Citrix das Hinzufügen von Servereigenschaften für den folgenden benutzerdefinierten Schlüssel。

  • Schlussel:Benutzerdefinierter Schlussel
  • Schlussel:auth.ldap.connect.timeout
  • 维尔特:60000
  • Anzeigename:auth.ldap.connect.timeout
  • 使用说明书:Zeitlimit毛皮LDAP-Verbindung

auth.ldap.read.timeout

beeiner langsamen LDAP-Antwort empfiehlt Citrix das Hinzufügen von Servereigenschaften für den folgenden benutzerdefinierten Schlüssel。

  • Schlussel:Benutzerdefinierter Schlussel
  • Schlussel:auth.ldap.read.timeout
  • 维尔特:60000
  • Anzeigename:auth.ldap.read.timeout
  • 使用说明书:LDAP-Lesezeitlimit

Weitere Serveroptimierungen

Servereigenschaft Standardeinstellung Gründe für ein Ändern diesel Einstellung
Hintergrundbereitstellung 1440年Minuten 死Häufigkeit der Hintergrundbereitstellung von Richtlinien, in Minuten。Gilt nur für immer aktive Verbindungen bei Android-Geräten。Eine häufigere Bereitstellung von richlinien verringert die Serverlast。去强调爱因斯坦吧1440(24 Stunden)。
Hardwareinventur im Hintergrund 1440年Minuten 死Häufigkeit冯硬件inventuren im Hintergrund,在Minuten。Gilt nur für immer aktive Verbindungen bei Android-Geräten。Ein häufigeres Durchführen von Hardwareinventuren verringert die Serverlast。去强调爱因斯坦吧1440(24 Stunden)。
Intervall zur Suche nach gelöschten Active Directory-Benutzern 15 Minuten Die standardmäßige Synchronisierungszeit für Active Directory ist15Minuten。范德维尔特0deaktiviert在XenMobile die Suche nach gelöschten Active Directory-Benutzern。去强调爱因斯坦吧15Minuten。
MaxNumberOfWorker 3. Zahl der beim Importieren eine großen Anzahl von Volume Purchase-Lizenzen verwendeten Threads。Der Standardwert坚持3..Ist eine weitere Optimierung erforderlich, können Sie die Zahl der Threads erhöhen。Bei einer größeren Anzahl von Threads (z. B. 6) führt ein Volume购买-进口jedoch zu einer hohen CPU-Auslastung。

Überprüfen von死锁在einer SQL-Datenbank和Löschen von Verlaufsdaten

Bei vorhandenen死锁führen Sie die folgende Abfrage aus, um die Deadlocks anzuzeigen。Anschließend kann ein Datenbankadministrator ordermicrosoft sql - teammitglidie Informationen bestätigen。

SQL-Abfrage

SELECT db.name DB_Service, tl.request_session_id, wt.blocking_session_id, OBJECT_NAME(p.p eobject_id) BlockedObjectName, tl.resource_type, h1。TEXT AS RequestingText, h2。TEXT AS BlockingTest, tl.request_mode FROM sys.;dm_tran_locks AS tl INNER JOIN sys。database db ON db。resource_database_id = tl.resource_database_id INNER JOIN sys. resource_database_iddm_os_waiting_tasks AS wt ON tl.lock_owner_address = wt.resource_address INNER JOIN sys. dm_os_waiting_tasks AS wt ON tl.lock_owner_address = wt.resource_address INNER JOINp.hobt_id = tl.resource_associated_entity_id INNER JOIN sys. partitions AS p ON p.hobt_id = tl.resource_associated_entity_id INNER JOIN sys. partitionsdm_exec_connections ec1 ON ec1。session_id = tl.request_session_id INNER JOIN sys. session_iddm_exec_connections ec2 ON ec2。session_id = wt.blocking_session_id CROSS APPLY sys.dm_exec_sql_text(ec1.most_recent_sql_handle) AS h1 CROSS APPLY sys.dm_exec_sql_text(ec2.most_recent_sql_handle) AS h2 GO 

Bereinigen der Datenbank

Wichtig:

Sichern Sie Ihre Datenbank, bevor Sie Änderungen an Tabellen vornehmen。

  1. Führen Sie die folgende Abfrage aus, um die Verlaufsdaten zu überprüfen。

    从dbo.EWDEPLOY_HISTO中选择COUNT(\*)作为total_record;从dbo.EWSESS中选择COUNT(\*)作为total_record从dbo.EWAUDIT中选择COUNT(*)作为total_record;<!——NeedCopy >
  2. Löschen Sie die Daten aus den vorangegangenen drei Tabellen。

    Hinweis:

    下Umständen sehen Sie keine Verlaufsdaten in einer Tabelle。Überspringen Sie in diesel Fall die TRUNCATE-Abfrage für diese spezielle Tabelle。

    截断表dbo.EWDEPLOY_HISTO;截断表dbo.EWSESS;截断表dbo.EWAUDIT;<!——NeedCopy >
  3. 我们死吧,死吧,死吧。Dieser Schritt将所有的死锁。

    设置READ_COMMITTED_SNAPSHOT为立即回滚
  4. Standardmäßig erfolgt die Datenbankbereinigung alle sieben Tage für aufzubewahrende Sitzungs- und Auditprotokolldaten, deren Datenmenge bei vielen Benutzern hoch ist。Ändern Sie den Bereinigungswert在1 oder 2 Tage。Ändern Sie die Servereigenschaften wie folgt:

    zdm.dbcleanup. sessionretentiontimeindays = 1天zdm.dbcleanup. deployhistretentiontimeindays = 1天auditRetentionTimeInDays < = 1天!——NeedCopy >

Verwaiste Einträge在KEYSTORE-Tabelle贝茵根

Wenn XenMobile-Knoten eine schlechte Leistung zeigen, überprüfen Sie, ob die KEYSTORE-Tabelle zu groß ist。XenMobile speichert Registrierungszertifikate in den Tabellen ENROLLMENT_CERTIFICATE und KEYSTORE。Wenn Sie Geräte löschen oder neu registreren, werden die Zertifikate in der Tabelle ENROLLMENT_CERTIFICATE gelöscht。Einträge in der KEYSTORE-Tabelle bleiben erhalten, was zu Leistungsproblemen führen kann。Führen Sie das folgende Verfahren aus, um die verwaisten Einträge aus der KEYSTORE-Tabelle zu löschen。

Wichtig:

Sichern Sie Ihre Datenbank, bevor Sie Änderungen an Tabellen vornehmen。

  1. Führen Sie die folgende Abfrage aus, um die Verlaufsdaten zu überprüfen。

    select COUNT(*) from KEYSTORE 
  2. Suchen Sie mit der folgenden Abfrage nach verwaisten Einträgen in der KEYSTORE-Tabelle。

    使用cte(KEYSTORE_ID) AS (SELECT KEYSTORE_ID FROM ENROLLMENT_CERTIFICATE UNION SELECT CA_KEYSTORE_ID FROM LDAP_CONFIG UNION SELECT CLIENT_KEYSTORE_ID FROM LDAP_CONFIG UNION SELECT KEYSTORE_ID FROM SAML_SERVICE_PROVIDER UNION SELECT KEYSTORE_ID FROM SERVER_CERTIFICATE)选择keystore。在密钥存储库上左加入cte。id = cte。Keystore_id为空;<!——NeedCopy >
  3. Löschen Sie die verwaisten Einträge mit der folgenden Abfrage。

    与cte(KEYSTORE_ID) AS (SELECT KEYSTORE_ID FROM ENROLLMENT_CERTIFICATE UNION SELECT CA_KEYSTORE_ID FROM LDAP_CONFIG UNION SELECT CLIENT_KEYSTORE_ID FROM LDAP_CONFIG UNION SELECT KEYSTORE_ID FROM SAML_SERVICE_PROVIDER UNION SELECT KEYSTORE_ID FROM SERVER_CERTIFICATE)删除keystore中id所在的值(SELECT keystore)。在密钥存储库上左加入cte。id = cte。其中KEYSTORE_ID是空的和密钥存储库。Type = ' x_509 ');<!——NeedCopy >
  4. Fügen Sie der KEYSTORE-Tabelle einen Index hinzu, um die Sucheffizienz zu verbessern。

    删除密钥库索引“keystore_name_idx”Alter column name nvarchar (255) null创建索引“keystore_name_idx”对“密钥库”(“名称”)包括(“id”,“类型”,“内容”,“密码”,“publicly_trusted”,“描述”,“别名”,“modification_date”);<!——NeedCopy >
Optimieren冯XenMobile-Prozessen