• Home
  • Categories
  • Recent
  • Popular
  • Pricing
  • Contact us
  • Docs
  • Login
FusionAuth
  • Home
  • Categories
  • Recent
  • Popular
  • Pricing
  • Contact us
  • Docs
  • Login
  1. Home
  2. sjswami
  3. Posts
S
  • Profile
  • Following 0
  • Followers 0
  • Topics 0
  • Posts 3
  • Best 0
  • Controversial 0
  • Groups 0

Posts made by sjswami

  • RE: Performance issues even with a 8 Core + 32 gigs.

    We have already implemented horizontal scaling. Currently 4 nodes are running. So for now users are able to login.

    I would be great if you can fix the google getInstance issue fix in upcoming releases.

    Morover running migration 1.19.0 over large data set, Below migration was generating duplicate ids in refresh_tokens table
    UPDATE refresh_tokens
    SET id = SUBSTR(CONCAT(MD5(RAND()), MD5(RAND())), 3, 16)
    WHERE id IS NULL;

    No of rows where 60,000 and out of which 422 duplicate where generated. So Migration was failing. For now I have removed duplicate records, for those users new refresh token will be generated during login.

    You may fix this issue, other customers may face this problem.

    posted in Q&A
    S
    sjswami
    23 Sept 2020, 18:17
  • RE: Performance issues even with a 8 Core + 32 gigs.

    Thank you,

    After upgrading to 1.19.6, there was no error in db migraion with mysql 8.x. But I was unable to load the fusionauth dashboard. After successfull login it shows like c400faa2-319a-4df6-8053-8ccbe0d38563-image.png

    Then I alter the applications table -> FusionAuth. I changed the data column
    From
    {"data": {}, "jwtConfiguration": {"enabled": false, "timeToLiveInSeconds": 0, "refreshTokenTimeToLiveInMinutes": 0}, "loginConfiguration": {"allowTokenRefresh": false, "generateRefreshTokens": false, "requireAuthentication": true}, "oauthConfiguration": {"clientId": "3c219e58-ed0e-4b18-ad48-f4f92793ae32", "logoutURL": "/", "clientSecret": "Zj...", "enabledGrants": ["authorization_code"], "generateRefreshTokens": true, "authorizedRedirectURLs": ["/login"], "requireClientAuthentication": true}, "verifyRegistration": false, "samlv2Configuration": {"debug": false, "enabled": false, "xmlSignatureC14nMethod": "exclusive_with_comments"}, "passwordlessConfiguration": {"enabled": false}, "registrationConfiguration": {"type": "basic", "enabled": false, "fullName": {"enabled": false, "required": false}, "lastName": {"enabled": false, "required": false}, "birthDate": {"enabled": false, "required": false}, "firstName": {"enabled": false, "required": false}, "middleName": {"enabled": false, "required": false}, "loginIdType": "email", "mobilePhone": {"enabled": false, "required": false}, "confirmPassword": false}, "authenticationTokenConfiguration": {"enabled": false}}

    To

    {"jwtConfiguration": {"enabled": true, "timeToLiveInSeconds": 60, "refreshTokenExpirationPolicy": "SlidingWindow", "refreshTokenTimeToLiveInMinutes": 60, "refreshTokenUsagePolicy": "Reusable"},"registrationConfiguration": {"type":"basic"}, "oauthConfiguration": {"authorizedRedirectURLs": ["/login"], "clientId": "3c219e58-ed0e-4b18-ad48-f4f92793ae32", "clientSecret": "Zm...=", "enabledGrants": ["authorization_code"], "logoutURL": "/", "generateRefreshTokens": true, "requireClientAuthentication": true},"loginConfiguration": {"allowTokenRefresh": false, "generateRefreshTokens": false, "requireAuthentication": true}}

    Then it started loading.

    For now this migration issue is fixed.

    But the performance hostspot still exists with the latest version just loading login page.
    6d0f089d-987d-4150-8a65-5ee9dff7104b-image.png

    DB was performing well, the average execution was around 1ms
    3307f66a-322c-4637-b238-af90aa1f5663-image.png

    posted in Q&A
    S
    sjswami
    23 Sept 2020, 16:59
  • RE: Performance issues even with a 8 Core + 32 gigs.

    We performed load testing using jMeter tool in a small machine to do CPU Sampling profiling. Configuration core i5 4 core 3.6Ghz, 16GB RAM. To Fusionauth server 8GB was allocated. DB Mysql 8.0.21. Fresh DB setup, no user except admin.

    Performance testing scenario
    25 users, each user loading 100 times login page http:localhost:9011/oauth2/authorize?client_id=30d6e7be-407d-..

    Results
    With Fusionauth Server 1.17.0 - 25 page/sec
    With old Fusionauth Server 1.6.0 - 112 page/sec

    On 1.17.0 Server we did cpu sampling and observer this.
    57300dbc-25b2-4932-a4f3-848c05a6ea96-image.png

    Seems that google library is causing the issue. While older server was performing better.

    Moreover I could no upgrade to new version 1.19.2 from 1.17.0
    Below is the exception log
    -- Update the version
    UPDATE version
    SET version = '1.19.0';
    . Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$
    CREATE FUNCTION generate_id()
    RETURNS BINARY(16)
    NOT DETERMI' at line 1
    at org.apache.ibatis.jdbc.ScriptRunner.executeFullScript(ScriptRunner.java:133)
    at org.apache.ibatis.jdbc.ScriptRunner.runScript(ScriptRunner.java:108)
    at com.inversoft.maintenance.db.SQLExecutor.executeSQLScriptWithError(SQLExecutor.java:43)
    at com.inversoft.maintenance.db.JDBCMaintenanceModeDatabaseService.upgrade(JDBCMaintenanceModeDatabaseService.java:337)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    ... 1 common frames omitted
    Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITER $$
    CREATE FUNCTION generate_id()
    RETURNS BINARY(16)
    NOT DETERMI' at line 1
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:764)
    at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)
    at org.apache.ibatis.jdbc.ScriptRunner.executeStatement(ScriptRunner.java:236)
    at org.apache.ibatis.jdbc.ScriptRunner.executeFullScript(ScriptRunner.java:128)
    ... 7 common frames omitted

    Looking at the exception, the migration script of 1.19.0 has syntex error "DELIMITER $$" in Mysql 8.0.21.

    posted in Q&A
    S
    sjswami
    21 Sept 2020, 04:14