Configure the Alfabet Performance Evaluation application

  1. In the Alfabet installation folder, go to the AlfabetAdministratorWeb folder and create a sub-directory Config.
  2. Copy the alfabetms.xml file containing the server alias of the Alfabet Web Application for which you would like to test the performance to the Config directory.
  3. Go to the Examples sub-directory of the AlfabetAdministratorWeb folder and copy the files from the Demo folder to your Config folder.
  4. Open the alfasettings.json file with a text editor.
  5. Change the values of the JSON fields according to your demands.

    AlfabetConfiguration:

    • EnableHttpLogging: Enter false . Only if issues occur can this parameter be set to true to generate extensive log files for debugging. Extensive logging can cause performance issues.
    • ResetAdminUser: Enter false . This setting shall only be set to true if the admin user specified with the two parameters below shall be changed. The user name and password is only read from the configuration file once for the first login of the user. It is then stored in the Alfabet Performance Evaluation application and shall be deleted from the configuration file for security reasons. If the administrator changes or the current administrator forgets the password, you can set this parameter to true and redefine user name and password to overwrite the user information stored in the Alfabet Performance Test application.
    • AdminUserEmail: Enter the email address of the administrator that shall log in to the Alfabet Performance Evaluation application.
    • AdminCredentials: Enter a password for the administrator that shall log in to the Alfabet Performance Evaluation application.

    DatabaseConfiguration:

    • DatabaseType: Enter MsSQL to use a database implemented on Microsoft SQL server or SQLite to use SQLite. If you selected SQLite, you can leave the data in the SQLite field as is. If you use Microsoft SQL server, you need to set the following fields in the MSSQL field:
    • DatabaseHost: Enter the database server name.
    • DatabaseName: Enter the database name.
    • UseIntegratedAuth: Set to false to log in to the database with the user name and password defined in the UserName and Password fields. Set to true to log in with the system user used to start the Alfabet Performance Evaluation application process. Access on the database on the database server must then be configured to allow access for the operating system user used to start the process. This database configuration is not part of this documentation. For the described configuration the field must be set to false.
    • UserName: Enter the database login user name or the environment variable containing the database login name as Env: followed by the variable name.
    • Password: Enter the database login user password or the environment variable containing the database login name as Env: followed by the variable name.

    AlfabetAliasFilePath: The example matches the configuration described here. Only re-set the file path if you want to locate the alfabetms.xml configuration file outside the Config sub-directory of the AlfabetAdministratorWeb.

    Folders are separated with a slash, and the drive is specified with a single slash behind the colon. This is deviating from the path as copied from a Microsoft Windows® file explorer.

    SSOConfiguration: Currently the Alfabet Performance Evaluation application only supports Single-Sign-On via Microsoft Account Entra ID as login method. The following settings are required in the Microsoft JSON object for full login via Microsoft Account Entra ID:

    You have defined an external application tenant for the Alfabet Performance Evaluation application in your Microsoft Entra Account and you defined OAuth authentication for the external application tenant.

    • Enabled: Set to true.
    • ClientId: Enter the client ID for access to your Microsoft Entra external application tenant.
    • ClientSecret: Enter the client secret for access to your Microsoft Entra external application tenant.
    • TenantId Enter the tenant ID of your Microsoft Entra external application tenant.
    • RedirectUri: Do not change this field. This is the internal URL path which the Alfabet Performance Evaluation application uses for receiving responses from Microsoft Entra.
    • Scope: Do not change this field. This is the information scope that is required for authentication and will be send to the Alfabet Performance Evaluation application.

    AlfabetRateLimit: Do not change the settings.

    SMTP Settings: This section is for future use only. Any settings will be ignored.

  6. Open the nlog-alfabet.config file with a text editor.

    In the following, the required changes in the example nlog configuration to activate logging to file in addition to logging to the Microsoft console is described. NLog provides many more options to send log messages e.g. to a Splunk® server or to the Microsoft Event log. In addition, the log output format is fully configurable. Consult the NLog documentation to learn about all available options.

  7. In the line
    • <target xsi:type='File' name='ownFile' fileName='./logs/AlfabetAdminWeb-${shortdate}.log'

    change the XML attribute fileName to the absolute or relative path to the target log file name and location on the local file system.

    Folders are separated with a slash, and the drive is specified with a single slash behind the colon. This is deviating from the path as copied from a Microsoft Windows® file explorer.

  8. In the line <variable name='var-level' value='Info' />, set the minimum level that shall be logged.

    NLog uses a hierarchy of log levels. The levels are:

    PositionLog levelDescription
    0TraceMost verbose level. Usually only activated for development.
    1DebugDebugging level including internal event logging.
    2InfoInformation level logging progress or application lifetime events.
    3WarnWarnings about validation issues or temporary failures are logged.
    4ErrorErrors where functionality has failed and exceptions are logged.
    5FatalMost critical level. Log messages are only created when the application is about to abort.
    6OffNo logging is done.

    You can define which levels of log messages shall be used in the logging rules. NLog provides different methods for definition of log levels. In the Alfabet NLog example configuration files, specification of a minimum log level is used. If you specify, for example, a minimum log level of Error , only log levels with position 4 and higher in the hierarchy are written to the log file. You will see only Error and Fatal log messages. To ease change of the general log level, the Alfabet NLog example configuration files use a variable for the definition of the minimum log level:

    • <variable name='var-level' value='Warn' />

    In the rules, the minimum log level specification is specified via the variable:

    • <logger name='alfabetlogger.System' minlevel='${var:var-level}' writeTo='file-all' final='true' />

    To change the log level for all rules, you can change the value of the variable to the new log level and it will be automatically applied to all rules. If you want to change the log level for a single rule, you can delete the variable definition from the rule and overwrite it with the text specification of the log level.

  9. Save your changes.