[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-17 Thread Mathieu Guillaume (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109799#comment-109799
 ] 

Mathieu Guillaume commented on NXBT-356:


Selenium tests on Chrome (note: can't be compared directly to Firefox tests as 
the full suite isn't passing on Chrome).
- Server 1: 16m57, 13m42, 13m58
- Server 2: 19m11, 19m33, 21m15
- Server 3: 23m17, 23m30, 21m54
- Server 4: 20m33, 20m59, 22m31

CPU is having more impact than with Firefox, but not as much as for builds.


 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets


[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-17 Thread Mathieu Guillaume (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109800#comment-109800
 ] 

Mathieu Guillaume commented on NXBT-356:


Final conclusions:
- servers with 4GB should be enough (though more doesn't hurt),
- no need for SSD or especially fast disks,
- get the best CPU(s) possible for the target price tag.


 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets


[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-16 Thread Mathieu Guillaume (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109713#comment-109713
 ] 

Mathieu Guillaume commented on NXBT-356:


Tested ramfs and tmpfs on Server 1: no impact.


 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets


[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-12 Thread Mathieu Guillaume (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109430#comment-109430
 ] 

Mathieu Guillaume commented on NXBT-356:


For the first run of tests, I did an offline build (with tests) of 
nuxeo-features.
Default JDK used was Sun's Java 6, with MAVEN_OPTS=-Xmx1024m 
-XX:MaxPermSize=256m.

* Server 1: 2x4 cores (Intel Quad Core i7 870 @ 2.93GHz), 16GB RAM
Compile times: 7m39, 7m46, 7m53
Alternative test - double maven memory: 7m49
Alternative test - OpenJDK6: 10m06
Alternative test - OpenJDK7: 7m52
Alternative test - maven 3: 7m40

* Server 2: 1x4 cores (Intel Quad Core Q6600 @ 2.40GHz), 4GB RAM
Compile times: 12m09, 12m59, 13m56
Alternative test - double maven memory: 12m46
Alternative test - OpenJDK6: 14m39

* Server 3: 1x4 virtual cores (AMD Quad Core Opteron 2374 HE @ 2.20GHz), 4GB RAM
Compile times: 13m58, 14m21, 14m08
Alternative test - double maven memory: 13m23
Alternative test - OpenJDK6: 21m48
Alternative test - OpenJDK7: 14m33

* Server 4: 1x2 cores (Intel Core 2 Duo E6550 @ 2.33GHz), 2GB RAM
Compile times: 15m46, 16m42, 17m57
Alternative test - double maven memory: 34m49
Alternative test - OpenJDK6: 20m48


Conclusions:
- the default memory parameters are sufficient for build tasks, increasing 
memory doesn't benefit the build times (and hurts them in the case of Server 4, 
which has to use swap).
- build tasks seem to be pretty much only CPU-bound.

Alternate tests:
- OpenJDK6 is slower, there would be no benefit to switch to it.
- OpenJDK7 and maven3 don't significantly alter build times.


 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets


[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-12 Thread Mathieu Guillaume (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109438#comment-109438
 ] 

Mathieu Guillaume commented on NXBT-356:


For the second run of tests, I tried to address the case of functional tests.
The one used was nuxeo-distribution-dm/ftest/selenium (offline) as we don't 
have any significant WebDriver tests yet.
JDK used was Sun's Java 6, with MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=256m.
For Nuxeo, the default JAVA_OPTS are -Xms512m -Xmx1024m -XX:MaxPermSize=512m 
(plus other non-memory-related ones).
For selenium, no memory options are passed by default.


* Server 1:
Due to a too-recent version of Firefox, the tests didn't pass, the results are 
not significant (too many waits for timeout, results were around 33 minutes).

* Server 2:
Run times: 24m18, 26m29, 24m40
Alternative test - double maven memory: 25m02
Alternative test - double nuxeo memory: 25m09
Alternative test - 1GB selenium memory: 25m13

* Server 3:
Run times: 28m05, 28m11, 27m55
Alternative test - double maven memory: 27m48
Alternative test - double nuxeo memory: 27m40

* Server 4:
Run times: 25m11, 25m27, 24m57
Alternative test - double maven memory: 25m06
Alternative test - double nuxeo memory: 26m08

Conclusion:
- The test times are pretty much the same whatever the options used, the 
defaults are high enough.
- The virtual machine (Server 3) is slightly slower, but not by much.

The limiting factor in this test seems to be Firefox, which was using the most 
CPU during the tests.
The similar times on servers with a different number of cores can probably be 
explained by the fact the Firefox is not optimized for multi-core yet: it's 
multi-threaded, but most of the work happens in a single thread. Cf. [this blog 
post|http://blog.mozilla.com/products/2011/07/15/goals-for-multi-process-firefox/]
 for details.


 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets


[JIRA] Commented: (NXBT-356) Define a CI slave for performance

2012-01-10 Thread Pivotal Integration (JIRA NUXEO)

[ 
https://jira.nuxeo.com/browse/NXBT-356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=109231#comment-109231
 ] 

Pivotal Integration commented on NXBT-356:
--

A Pivotal Tracker story has been created for this Issue: 
http://www.pivotaltracker.com/story/show/23215307

 Define a CI slave for performance
 -

 Key: NXBT-356
 URL: https://jira.nuxeo.com/browse/NXBT-356
 Project: Nuxeo ECM Build/Test Environment
  Issue Type: Task
  Components: Continuous integration
Reporter: Julien Carsique
Assignee: Mathieu Guillaume

 Slave build performances
 Currently the build on the Jenkins slaves is about the same time than on a 
 dev laptop.
 = we can make better !
 It's true that a big part of the Jenkins slave are poor hardware (the dwarf).
 Before taking any decision, we should probably do some profiling to see 
 exactly what are the real impacting factors :
 test build on a bigger CPU (like Octo)
 use RAMFS to speedup I/O
 tweak compile options ?
 test on big RackSpace VMs
 = based on that we will be able to define what kind of Build slaves we need
 (then we will have to see what we can host internaly and what must be 
 external)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


___
ECM-tickets mailing list
ECM-tickets@lists.nuxeo.com
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets