Verbesserung von Performance und Monitoring
Neue Performance-Metriken in `EDMIService` hinzugefügt, inkl. Felder für Job-Dauer, langsame Queries und Timestamps. `ServiceStatusResponse` um diese Metriken erweitert. `DatatableJob` optimiert: `<DisallowConcurrentExecution>` hinzugefügt, Logging für langsame Queries (>10s) und Jobs (>30s) verbessert, sowie Gesamt-Dauer-Messung integriert. `Scheduler` nutzt nun dedizierte MSSQL-Instanz zur Entkopplung von Datenbankoperationen. Thread-Pool-Größe reduziert und gestaffeltes Starten von INIT-Jobs eingeführt. Connection-Strings in `WindowsService` angepasst: `ApplicationName` spezifisch gesetzt und `MaxPoolSize` erhöht. Allgemeine Logging-Verbesserungen für bessere Skalierbarkeit und Stabilität.
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
Imports System.ServiceModel
|
||||
Imports System.ServiceProcess
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules
|
||||
Imports System.ServiceModel.Description
|
||||
Imports DigitalData.Modules.Config
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.ServiceModel
|
||||
Imports System.ServiceModel.Channels
|
||||
Imports System.ServiceModel.Description
|
||||
Imports System.ServiceProcess
|
||||
Imports DigitalData.Modules
|
||||
Imports DigitalData.Modules.Config
|
||||
Imports DigitalData.Modules.Database
|
||||
Imports DigitalData.Modules.Logging
|
||||
|
||||
Public Class WindowsService
|
||||
Inherits ServiceBase
|
||||
@@ -187,8 +188,11 @@ Public Class WindowsService
|
||||
Throw New ArgumentNullException("ConnectionString_ECM")
|
||||
End If
|
||||
|
||||
Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_ECM)
|
||||
Logger.Info("✔ Database connection to ECM Database established.")
|
||||
Dim oBuilder As New SqlConnectionStringBuilder(Config.ConnectionString_ECM)
|
||||
oBuilder.ApplicationName = "DD_EDMIAppService"
|
||||
oBuilder.MaxPoolSize = Math.Max(50, oBuilder.MaxPoolSize) ' ← nie kleiner als 50 setzen
|
||||
Dim oMSSQL = New MSSQLServer(pLogConfig, oBuilder.ToString())
|
||||
Logger.Info("✔ Database connection to ECM Database established | MaxPool=[{0}]", oBuilder.MaxPoolSize)
|
||||
Return oMSSQL
|
||||
End Function
|
||||
|
||||
@@ -199,8 +203,11 @@ Public Class WindowsService
|
||||
Throw New ArgumentNullException("ConnectionString_IDB")
|
||||
End If
|
||||
|
||||
Dim oMSSQL = New MSSQLServer(pLogConfig, Config.ConnectionString_IDB)
|
||||
Logger.Info("✔ Database connection to IDB Database established.")
|
||||
Dim oBuilder As New SqlConnectionStringBuilder(Config.ConnectionString_IDB)
|
||||
oBuilder.ApplicationName = "DD_EDMIAppService-IDB"
|
||||
oBuilder.MaxPoolSize = Math.Max(20, oBuilder.MaxPoolSize) ' ← nie kleiner als 20 setzen
|
||||
Dim oMSSQL = New MSSQLServer(pLogConfig, oBuilder.ToString())
|
||||
Logger.Info("✔ Database connection to IDB Database established | MaxPool=[{0}]", oBuilder.MaxPoolSize)
|
||||
Return oMSSQL
|
||||
End Function
|
||||
|
||||
|
||||
Reference in New Issue
Block a user