-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High CPU when fog-aliyun is used in CF Cloud Controller #80
Comments
We've set up a Cloud Foundry landscape with bits-service on AliCloud to check which load the bits-service can handle. Test setup: cf-deployment v12.39.0 All CF VM sizes are vm_2cpu_4gb (except for Diego cells which have vm_2cpu_8gb) Number of "api" nodes: 4 We've pushed a number of test applications which contain larger resource files. The content of the files is randomly generated to make sure that no caching influences the result. Here is the test script:
To run the script, log on to CF and create a new space. Insert the domain name for the test apps (see TODO above), adapt number of apps and size of resource file and execute the script. It will push CF apps in parallel "for" loops. Our test results:
We did not encounter any CC problems during the test runs. All CF pushes were completed successfully. Cloud Controller was not overloaded and the two bits-service instances were also healthy. We will repeat the test series with CC and fog-aliyun so that we can compare numbers. |
Repeat the test with Fog-aliyun, here ist the result:
|
The test results above were measured with fog-aliyun 0.3.10 not yet with the improved 0.3.11 that addresses the memory issues. |
We've repeated the load tests with fog-aliyun 0.3.15. Test setup: CF v12.39.0 with 4 api and 2 cc-worker nodes of type "vm_2cpu_4gb". Load test runs #NUMBER_APPS parallel "cf push" processes. Each app has a randomly generated resource file of size RESOURCE_FILE_SIZE_MB. AliCloud landscape with fog-aliyun 0.3.15:
For the last two test runs, the landscape starts to fail (CC becoming unresponsive). In our dashboards we could see that the following CC worker jobs queued up: BlobstoreDelete, DeleteExpiredDropletBlob, DeleteExpiredPackageBlob To get numbers for comparison, we've run the same tests on a AWS landscape with fog-aws 2.0.1:
We can see that the memory usage is almost constant. CPU usage increases, but the landscape was still responsive. |
We've repeated the performance tests with fog-aliyun 0.3.17 and the same setup as described in the previous comment:
Worker memory load is a little higher than on AWS, but the other numbers are comparable or even better. |
@jochenehret Thanks for your feedback. We will continue to improve it performance and the next version will resolve "Worker memory load is a little higher than on AWS" issue. |
When switching in a CF landscape with "some usage" the cloud controller from bits-service to fog, we observed a drastic increase in CPU usage of the ruby processes of the Cloud Controller (see attached monitoring screenshot).
Such an increase was not observed on AWS, Azure and GCP where we switched from bits to fog as well. The CF usage (# of cf-push operations) should be comparable between the different IaaS.
The text was updated successfully, but these errors were encountered: