|
|
|
[
Permlink
| « Hide
]
Robin Shen [01/Dec/17 11:38 PM]
Is this happening all the time, or occasionally? If occasionally, is the server under heavy load?
It is happening occasionally. Yes after moving to QB7.0 we can see that the heap memory can be sometimes up to 90%, although the load on the server has not changed between QB6 and QB7
btw. What is the suggested amount of heap memory for QB 7.0?
4G should be enough for most cases. Do you have many builds publishing artifacts/retrieving artifacts while this happens? How is the I/O load of the server.
Well, we have 16GB and it varies from 40% to 95%
As for the builds, at that time there were 14 builds requests on master, all in all we have many configurations (>100), most of them are publishing. There is a peak in Upload (Fifteen-minute Rate: 24.12) and Download Visits (Fifteen-minute Rate: 5.83 ) As for I/O, I do not see any strange peaks on our external measurements system, but maybe QB has some internal measurements for it? 16G mem should be more than enough. QB does not have internal measurement for I/O. I'd suggest to reduce the concurrent jobs doing file publishing to see if the issue still exist.
I believe limiting is not an option for us.
Moreover our publish steps are already distributed across nodes, we no longer store all the data on server. So you are storing artifacts on agents based on this document?
http://wiki.pmease.com/display/QB70/Store+Build+Artifacts+on+Agent I suggest to limit the concurrency temporarily at least to see if this is the cause. If yes, you may set up more agents as artifact storage. Yes we are storing the artifacts on agents like defined here http://wiki.pmease.com/display/QB70/Store+Build+Artifacts+on+Agent
All of our agents are set up as artifact storage. How do you suggest to limit the concurrency on a production environment? Any Wiki how to do it? You may define a grid resource on QB server with desired number. Then add an intermediate sequential step between your existing publish step and its parent and make the intermediate step require that resource. Note that if your publish step's node selection rule is "On the same node running parent step" (which is default), you should change it to script selection rule with below script:
node.address == parent.parent.node.address Please also check if there any anti-virus software running interfering with the communication between QB nodes. We have other customers encountering the same situation, and it turns out to be anti-virus software. Please reopen it if you believe it is still an issue of QB.
|