[ 
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)

Reply via email to