You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Francesco Chicchiriccò (JIRA)" <ji...@apache.org> on 2017/08/17 12:53:00 UTC

[jira] [Commented] (SYNCOPE-1199) Syncope performance: AnyObjetcTO's creation time grows with it's quantity

    [ https://issues.apache.org/jira/browse/SYNCOPE-1199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16130343#comment-16130343 ] 

Francesco Chicchiriccò commented on SYNCOPE-1199:
-------------------------------------------------

All the github links above return 404 to me

> Syncope performance: AnyObjetcTO's creation time grows with it's quantity
> -------------------------------------------------------------------------
>
>                 Key: SYNCOPE-1199
>                 URL: https://issues.apache.org/jira/browse/SYNCOPE-1199
>             Project: Syncope
>          Issue Type: Bug
>    Affects Versions: 2.0.2, 2.0.4
>         Environment: Syncope 2.0.2 and 2.0.4 + PostgreSQL 9; Jmeter;
> https://github.com/Talend/platform-services/tree/master/iam/idp
>            Reporter: Iurii Smyrnov
>         Attachments: Latency for 1000 create roles (directly syncope 2.0.4) no SCIM.csv, Latency for 1000 create roles (directly syncope 2.0.4).png, Latency for 1037 create roles (directly syncope 2.0.2) no SCIM.csv, Latency for 1037 create roles (directly syncope 2.0.2).png, Latency for 3000 create roles (directly syncope 2.0.2).csv, Latency for 3000 create roles (directly syncope 2.0.2).png
>
>
> *AnyObjetcTO's creation time (latency) grows with it's quantity.*
> We create AnyObjetcTO entities (our custom RoleAT type).
> Testing results are attached (Latency in milliseconds).
> Note: We've tested PostgreSQL DB directly (without Syncope) and we've got stable AnyObjetcTO's creation time (not increasing).
> To reproduce the issue please do next :
> User Syncope 2.0.4 or 2.0.4 and  + PostgreSQL 9 - you could test our environment IDP project .
> To install it you should have docker.
> To build IDP project:
>  1. build https://github.com/Talend/platform-services/tree/master/btools
> 	1.1 cd ../platform-services/btools
> 	1.2 call: gradle clean build publish
> 	
>  2. build https://github.com/Talend/platform-services/tree/master/microservices
>   2.1 cd ../platform-services/microservices
>   2.2 call: gradle clean buildDocker - it will create microservices docker image
>   
>  3. build https://github.com/Talend/platform-services/tree/master/iam/idp
>   3.1 cd ../platform-services/iam/idp
>   3.2 call: gradle clean buildDocker - it will create idp docker image
>   3.3 cd ../platform-services/iam/idp/build
>   3.4 call: docker-compose up - start containers
>   3.5 call: docker-compose ps - you will see containers list like:
>   
>      Name                  Command              State                                 Ports
> ------------------------------------------------------------------------------------------------------------------------
> build_db_1    docker-entrypoint.sh postgres   Up      0.0.0.0:5432->5432/tcp
> build_idp_1   sh bin/start_tomcat.sh jpda     Up      0.0.0.0:8000->8000/tcp, 8080/tcp, 8443/tcp, 0.0.0.0:9080->9080/tcp
>  
>  4. wait for IDP is started: ←[33midp_1  |←[0m 16-Aug-2017 15:33:57.506 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 95832 ms
>  
>  5. To test syncope performance you  could use our test with jmeter:
>   5.1 install jmeter
>   5.2 our test https://github.com/Talend/platform-services/blob/master/performance-tests/src/main/resources/CreateRoleTestSyncope.jmx open by jmeter
>   5.3 update test:
>       5.3.1 quntity to create in jmeter here: CreateRoleTestSyncope -> ${__P(nbOfAccountsToCreate, 3000)} to set ${__P(nbOfAccountsToCreate, 1000)} for example
> 	  5.3.2 if you use UNIX - updated CreateRoleTestSyncope -> from ${__P(host, 192.168.99.100)}  to ${__P(host, localhost)}  - 192.168.99.100 host for Windows
>   5.4 results are saved in ../<jmeter_path>/bin/CreateRoleSyncopeResults.csv (you could update) in CreateRoleTestSyncope ->  View Results Tree Report -> Filename
>   5.5 request is here: CreateRoleTestSyncope -> CreateRoleThread -> Loop Controller -> Create Role Request
>   5.6 run it
>   5.7 responses list you will see : CreateRoleTestSyncope ->  View Results Tree Report
>   
>  6. if you want use some other way to test here are options to create requests:
>   6.1 URI: http://192.168.99.100:9080/syncope/rest/anyObjects -for WIndows, for Unix http://localhost:9080/syncope/rest/anyObjects
>   6.2 http headers:
>     6.2.1 Content-Type / application/json
> 	6.2.2 Accept / application/json
> 	6.2.3 Authorization / Basic YWRtaW46cGFzc3dvcmQ=
>   6.3 verb: POST
>   6.4 body:
>     {
>      "plainAttrs":[
>       {
>        "values":[
>          "TDP_DATASET_CERTIFY"
>        ],
>        "schema":"roleEntitlements"
>       }
>      ],
>     "type":"RoleAT",
>     "realm":"/",
>     "@class":"org.apache.syncope.common.lib.to.AnyObjectTO",
>     "auxClasses":["RoleATClass"],
>     "name":"Role_Account_1"
>   }
>   



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)