maxim is a tool to do performance test for your web applications.
It can simulate 10k+ concurrent requests for your performance test by using Gatling and EKS.
create eks cluster and fargate profile
cd eks
eksctl create cluster -f cluster.yaml
eksctl create fargateprofile -f fargate_profile.yaml
REGION=us-east-1
CLUSTER_NAME=basic-cluster
NAMESPACE=maxim
SERVICE_ACCOUNT=perf-test-sa
S3_POLICY="arn:aws:iam::aws:policy/AmazonS3FullAccess"
eksctl utils associate-iam-oidc-provider --cluster $CLUSTER_NAME --region $REGION --approve
eksctl create iamserviceaccount \
--name $SERVICE_ACCOUNT \
--namespace $NAMESPACE \
--cluster $CLUSTER_NAME \
--region $REGION \
--attach-policy-arn $S3_POLICY \
--approve \
--override-existing-serviceaccounts
kubectl get all -n maxim
the pods are starting
NAME COMPLETIONS DURATION AGE
job.batch/perf-test 0/1 16s
job.batch/perf-test-merge-results 0/1 16s
after about 5 minutes, the job completed
NAME READY STATUS RESTARTS AGE
pod/perf-test-merge-results-x54mf 0/1 Completed 0 4m25s
pod/perf-test-wvjqn 0/1 Completed 0 4m25s
NAME COMPLETIONS DURATION AGE
job.batch/perf-test 1/1 3m33s 4m28s
job.batch/perf-test-merge-results 1/1 4m23s 4m28s