Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moimhossain/container-performance
Some tests I perform against windows container and networking technologies
https://github.com/moimhossain/container-performance
asp-net-core aspnetcore containers docker docker-image grpc ipc linux pipe signalr tcp tcp-channel unix unix-domain-socket wcf windows-containers
Last synced: about 9 hours ago
JSON representation
Some tests I perform against windows container and networking technologies
- Host: GitHub
- URL: https://github.com/moimhossain/container-performance
- Owner: MoimHossain
- License: mit
- Created: 2019-08-23T08:23:32.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-08-31T23:58:04.000Z (about 2 years ago)
- Last Synced: 2024-05-29T17:13:13.456Z (5 months ago)
- Topics: asp-net-core, aspnetcore, containers, docker, docker-image, grpc, ipc, linux, pipe, signalr, tcp, tcp-channel, unix, unix-domain-socket, wcf, windows-containers
- Language: C#
- Size: 272 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# container-performance
This repository contains few small application that I have used to compare performance of IPC/Remoting in .NET framework (various technologies i.e. TCP channels, SignalR and gRPC) running inside **windows containers** (both ```windows server container``` and ```hyperV``` container).
## TCP Channel - WCF
How to run:
- Go to the project **TcpNetFramework**
- Build docker image:Run the server with following command:
```
docker run -it -p 8789:8789 moimhossain/wcf-tcp-net-framework:latest
```To run client
```
docker run -it moimhossain/wcf-tcp-net-framework:latest
```> Please use ```--isolation=process|hyperv``` switch to change container isolation modes
## SignalR
How to run:
- Go to the project **SignalR**
- Build docker image:Run the server with following command:
```
docker run -it -p 8790:8790 moimhossain/signalr-net-framework:latest
```To run client
```
docker run -it moimhossain/signalr-net-framework:latest
```> Please use ```--isolation=process|hyperv``` switch to change container isolation modes
## gRPC
How to run:
- Go to the project **gRPC**
- Build docker image:Run the server with following command:
```
docker run -it -p 7888:7888 moimhossain/grpc-net-framework:latest
```To run client
```
docker run -it moimhossain/grpc-net-framework:latest
```> Please use ```--isolation=process|hyperv``` switch to change container isolation modes
### IPC via Shared memory (Queue) on UNIX
The demo that uses shared memory on UNIX
#### How to build
Build using the following docker command:
```
docker build -t moimhossain/unix-shared-memory-demo .
```#### How to run Producer/Writer
Use the followig command to run the producer
```
docker run --ipc shareable --name producer moimhossain/unix-shared-memory-demo -producer
``````
docker rm -v producer
```> Notice: You need to specify the IPC namespace as **shareable** so Docker engine will map the namespace to the consumer/reader container.
#### How to run the Consumer/Reader
Use the following command to run the consumer:
```
docker run --name consumer --ipc container:producer moimhossain/unix-shared-memory-demo -consumer
```And for clean up:
```
docker rm -v consumer
```# That's it!