Colin Dembovsky 2021-04-21 10:22:11 -05:00
commit c21478bcb9
4 changed files with 77 additions and 63 deletions

@ -37,7 +37,8 @@ Information about deploying to local Kubernetes, on-premises, and Azure environm
Information about setting up CI/CD pipelines for eShopOnContainers using GitHub Actions workflow. For more details explore : Information about setting up CI/CD pipelines for eShopOnContainers using GitHub Actions workflow. For more details explore :
- [GitHub Actions](GitHub-Actions) - [Build Code with GitHub Actions](GitHub-Actions)
- [Deploy Code with GitHub Actions](Deploy-With-GitHub-Actions)
- [Azure DevOps Pipelines](Azure-DevOps-pipelines) - [Azure DevOps Pipelines](Azure-DevOps-pipelines)
# NEWS / ANNOUNCEMENTS # NEWS / ANNOUNCEMENTS

@ -1,63 +1,13 @@
This folder details the setup needed to run load tests locally or on a Kubernetes / Service Fabric cluster. > [!NOTE]
> Load testing in Visual Studio Enterprise is deprecated now. For more details, please refer [Cloud-based load testing service end of life](https://devblogs.microsoft.com/devops/cloud-based-load-testing-service-eol/)
Load testing requires Visual Studio Enterprise Edition ## Load testing Alternatives
> **CONTENT** Following list has few alternatives tools, both free and commercial that you can consider.
- [Local environment](#local-environment) - [Apache JMeter](https://jmeter.apache.org/)
- [Kubernetes environment](#kubernetes-environment) - [Locust](https://locust.io/)
- [Run Load Tests](#run-load-tests) - [BlazeMeter](https://www.blazemeter.com/)
- [Neoload](https://www.neotys.com/neoload)
![](images/Load-testing/loadtestproj-dir.png) - [Micro Focus Silk Performer](https://www.microfocus.com/en-us/products/silk-performer/overview)
- [Micro Focus Load Runner](https://www.microfocus.com/en-us/portfolio/performance-engineering/overview)
## Local environment
Modify the **app.config** file in the LoadTest project directory and set the following service urls.
```conf
<Servers>
<MvcWebServer url="http://localhost:5100" />
<CatalogApiServer url="http://localhost:5101" />
<OrderingApiServer url="http://localhost:5102" />
<BasketApiServer url="http://localhost:5103" />
<IdentityApiServer url="http://localhost:5105" />
<LocationsApiServer url="http://localhost:5109" />
<MarketingApiServer url="http://localhost:5110" />
</Servers>
```
Modify the **.env** file and set the following config property as shown bellow.
```env
USE_LOADTEST=True
```
## Kubernetes environment
Modify the **app.config** file in the LoadTest project directory and set the following service urls.
```conf
<Servers>
<MvcWebServer url="http://<public_ip_k8s>/webmvc" />
<CatalogApiServer url="http://<public_ip_k8s>/catalog-api" />
<OrderingApiServer url="http://<public_ip_k8s>/ordering-api" />
<BasketApiServer url="http://<public_ip_k8s>/basket-api" />
<IdentityApiServer url="http://<public_ip_k8s>/identity" />
<LocationsApiServer url="http://<public_ip_k8s>/locations-api" />
<MarketingApiServer url="http://<public_ip_k8s>/marketing-api" />
</Servers>
```
Modify the **conf_local.yml** file in the K8s directory and set the **EnableLoadTest** environment variable to True. This setting enables the load tests to bypass authorization in api services.
![](images/Load-testing/k8ssettings.png)
Deploy the Kubernetes services. Read the wiki pages related to Kubernetes setup:
- [Deploy to local Kubernetes](Deploy-to-Local-Kubernetes)
- [Deploy to Azure Kubernetes Service (AKS)](Deploy-to-Azure-Kubernetes-Service-(AKS))
## Run Load Tests
Open the load test you want to perform ***.loadtest** files and click the Run Load test button.
![](images/Load-testing/runloadtest.png)

@ -67,6 +67,6 @@
### DevOps ### DevOps
- [CI with GitHub Actions](GitHub-Actions) - [Build Code with GitHub Actions](GitHub-Actions)
- [CD with GitHub Actions](Deployment-With-GitHub-Actions) - [Deploy Code with GitHub Actions](Deployment-With-GitHub-Actions)
- [Azure DevOps pipelines](Azure-DevOps-pipelines) - [Azure DevOps pipelines](Azure-DevOps-pipelines)

@ -0,0 +1,63 @@
This folder details the setup needed to run load tests locally or on a Kubernetes / Service Fabric cluster.
Load testing requires Visual Studio Enterprise Edition
> **CONTENT**
- [Local environment](#local-environment)
- [Kubernetes environment](#kubernetes-environment)
- [Run Load Tests](#run-load-tests)
![](images/Load-testing/loadtestproj-dir.png)
## Local environment
Modify the **app.config** file in the LoadTest project directory and set the following service urls.
```conf
<Servers>
<MvcWebServer url="http://localhost:5100" />
<CatalogApiServer url="http://localhost:5101" />
<OrderingApiServer url="http://localhost:5102" />
<BasketApiServer url="http://localhost:5103" />
<IdentityApiServer url="http://localhost:5105" />
<LocationsApiServer url="http://localhost:5109" />
<MarketingApiServer url="http://localhost:5110" />
</Servers>
```
Modify the **.env** file and set the following config property as shown bellow.
```env
USE_LOADTEST=True
```
## Kubernetes environment
Modify the **app.config** file in the LoadTest project directory and set the following service urls.
```conf
<Servers>
<MvcWebServer url="http://<public_ip_k8s>/webmvc" />
<CatalogApiServer url="http://<public_ip_k8s>/catalog-api" />
<OrderingApiServer url="http://<public_ip_k8s>/ordering-api" />
<BasketApiServer url="http://<public_ip_k8s>/basket-api" />
<IdentityApiServer url="http://<public_ip_k8s>/identity" />
<LocationsApiServer url="http://<public_ip_k8s>/locations-api" />
<MarketingApiServer url="http://<public_ip_k8s>/marketing-api" />
</Servers>
```
Modify the **conf_local.yml** file in the K8s directory and set the **EnableLoadTest** environment variable to True. This setting enables the load tests to bypass authorization in api services.
![](images/Load-testing/k8ssettings.png)
Deploy the Kubernetes services. Read the wiki pages related to Kubernetes setup:
- [Deploy to local Kubernetes](Deploy-to-Local-Kubernetes)
- [Deploy to Azure Kubernetes Service (AKS)](Deploy-to-Azure-Kubernetes-Service-(AKS))
## Run Load Tests
Open the load test you want to perform ***.loadtest** files and click the Run Load test button.
![](images/Load-testing/runloadtest.png)