[JIRA] Commented: (NXBT-356) Define a CI slave for performance
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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