Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This test is entirely independent of your KB; it is designed to find issues with the hardware and system configuration. The test takes about ten minutes and strongly impacts performance while it's running, so it is best performed outside of business hours. To run the test, log into the admin console and select go to Debugging > Performance > Run Performance Test.

...

When the system performance test is complete, you receive a result like this:

Image RemovedExample performance test resultsImage Added

The test measures performance with three metrics, each of which depends on an aspect of your system:

...

If you want to use an email field to define record ownership, it's best to store email addresses and names in separate fields. To do so, go to Setup > Email and SMS > Configure Inbound Email > [Edit a Configuration] > , edit a configuration, and go to the Record Mapping tab. An  An option here allows you to store email addresses and names in separate fields:

Image RemovedImage Added

When the email address and name are stored separately, the system parses email record ownership, which prevents errors due to name-sensitive email recognition and issues with indexing. 

...

For more information on creating indexes for a table, see Indexing.

Find Long-Running SQL Queries

Construct Optimal Indexes

The optimum index for queries reported in the ewoptimizer.log, or obtained from the MySQL admin report on SQL queries that are taking a long time to execute can indicate a performance issue. To identify long-running queries, log in to the MySQL console and run a command:is generally one that includes the fields from the query and in the same order that they were specified in the query. Creating the best index does require some experience and judgment; if it did not, the standard would be for the database engines to create indexes automatically.

Find Long-Running SQL Queries

SQL queries that are taking a long time to execute can indicate a performance issue. To identify long-running queries, log in to the MySQL console and run a command:

  1. Go to <ROOT>/etc/ and copy the following information from the EnterpriseWizardConfig.xml file:Go to <ROOT>/etc/ and copy the following information from the EnterpriseWizardConfig.xml file: 

    Code Block
    languagexml
     <databaseServerHome>/usr/local/EnterpriseWizard/mysql</databaseServerHome>
    <databaseAdminLogin>root</databaseAdminLogin>
    <databaseAdminPassword>123456</databaseAdminPassword>
    <databaseAddress>127.0.0.1</databaseAddress>
    <databasePort>3333</databasePort>
  2. Run the following command, using the information from step 1: 

    Code Block
    languagepowershell
     /usr/local/Agiloft_Home/mysql/bin/mysql -u root --host 127.0.0.1 --port=3333 -p sw2_std -A 
  3. When prompted, enter the password that you found in /etc/EnterpriseWizardConfig.xml.
  4. Run the following command to list all SQL queries running for more than 15 seconds:  

    Code Block
     select * from information_schema.processlist where command != 'Sleep' and time>15;

...

  • Sorting (first, in order) fields: ([]): The covering index should start with these columns.
  • Required fields: ([id, email_type, linked_table, f_from, outgoing_email_type, type, linked_id]): Fields from the query.
  • Optional fields: ({}).: Set of fat fields where join optimization can be applied.

Construct Optimal Indexes

...

  • _email_type, type, linked_id]): Fields from the query.
  • Optional fields: ({}).: Set of fat fields where join optimization can be applied.

Load Testing and Performance Optimization

We provide consulting services to load test and optimize your application. These range from reviewing the log files and creating or modifying indexes to simulating user load and fine-tuning performance based upon this load. The optimization process can range from one day to several weeks, depending on whether you want us to simply review log files and create or modify indexes based on the resulting information, or to create test programs that simulate production use and precisely measure the number of concurrent users that your server can support.

Hide If
displayprintable

Content by Label
showLabelsfalse
max7
showSpacefalse
cqllabel = "performance" and space = currentSpace()