siege unable to load test with 1000 users - performance-testing

I have been trying to load test with siege to my application hosted on IIS server with the following command
siege -b -c1000 -t1M 'http://xxxx/home/load POST -H "delay: 50" -H "count: 600" -H "Content-Type: application/json"'
I get the error
[error] Address resolution failed at sock.c:158 with the following error:: No such file or directory
[error] Name or service not known: No such file or directory
Fixes i tried:-
Increased port limit from 1024 to 65535
Set limit in .siegerc file to 1500
increased ulimit to 100000
Tried with
siege -c200 -r300 'http://xxxx/home/load POST -H "delay: 50" -H "count: 600" -H "Content-Type: application/json"'
but then the iteration runs for only 3 mins against the 5 mins which is my actual requirement.
My doubt is if this is due to siege running more than its original 255 user default or is it due to my IIS server being unable to handle the load?
If this is seige related then how can i resolve this?My siege is installed on a Linux AMI EC2-instance

Related

curl (56) Recv failure: Connection reset by peer with a simple docker run

Yesterday this image was working fine.
But from today i have always the same error.
Here the command :
sudo docker run --name matter -d --publish 8065:8065 --add-host dockerhost:127.0.0.1 mattermost/mattermost-preview
When i curl :
curl: (56) Recv failure: Connexion ré-initialisée par le correspondant
English : curl (56) Recv failure: Connection reset by peer with a
simple docker run
Sometimes when i wait i can access to my localhost.
When i i do this :
sudo netstat -tulpn | grep LISTEN
I have this :
tcp6 0 0 :::8065 :::*
LISTEN 25772/docker-proxy
I don't understand this error :/
I am on Linux Ubuntu 18
The server takes a while to get ready to accept requests.
If you do
sudo docker logs matter
you can see the output of the server. Wait until you see a message like this
{"level":"info","ts":1624436113.1993275,"caller":"app/server.go:1226","msg":"Server
is listening on [::]:8065","address":"[::]:8065"}
before you start making requests.

Varnishadm configs

How I can keep configurations for varnishadm? I asked because after restart varnish lost data about configs which I declared.
varnish> vcl.load my_config /etc/varnish/my_config.vcl
200
VCL compiled.
varnish> vcl.label my_config_test my_config
200
varnish> vcl.list
200
active auto/warm 0 boot
available auto/warm 0 my_config (1 label)
available label/warm 0 my_config_test -> my_config
root#dev:/var/lib/varnish/wujek# /etc/init.d/varnish restart
[ ok ] Restarting varnish (via systemctl): varnish.service.
varnish> vcl.list
200
active auto/warm 0 boot
varnish>
I thinking how varnishadm keep configuration for boot.
Thanks.
I solved this problem. I run the server using to command
varnishd -I start.cli -F -a :80 -f ''
https://info.varnish-software.com/blog/one-vcl-per-domain

What is etcd looking for in 127.0.0.1:4001?

I'm trying to set up a test cluster using etcd 2.3.7 installed from CentOS RPM on CentOS 7.1. On the Loader 1 I executed:
etcdctl member add loader2 http://10.11.51.231:2380
And received response which confirmed the operation completed successfully.
Similarly:
etcdctl member add loader3 http://10.11.51.231:2380
with all default settings, and here's what I see:
Loader 1 10.11.51.166
systemctl status etcd -ln1
etcd.service - Etcd Server
Loaded: loaded (/usr/lib/systemd/system/etcd.service; disabled)
Active: active (running) since Sun 2017-02-19 14:33:18 IST; 28min ago
Main PID: 19009 (etcd)
CGroup: /system.slice/etcd.service
└─19009 /usr/bin/etcd --name=default --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://localhost:2379
Feb 19 15:02:03 loader3 etcd[19009]: cannot get the version of member a4803061db803edc (Get http://10.11.51.166:2380/version: dial tcp 10.11.51.166:2380: getsockopt: connection refused)
Tried to see cluster health:
etcdctl --debug cluster-health
Cluster-Endpoints: http://127.0.0.1:4001, http://127.0.0.1:2379
cURL Command: curl -X GET http://127.0.0.1:4001/v2/members
cURL Command: curl -X GET http://127.0.0.1:2379/v2/members
member ce2a822cea30bfca is unhealthy: got unhealthy result from http://localhost:2379
member da05b63349d818dc is unreachable: no available published client urls
cluster is unhealthy
Note how this ignores the two nodes added previously, but sends requests to random port on localhost...
Loader 2 10.11.51.174
At first this machine started OK, but after I saw there was something wrong with Loader 1, I tried adding Loader 1 as a member from this machine, and now I see the same picture on this machine too. I.e. it tries to query this 4001 port, where nobody responds. On all machines:
netstat -tupln | grep etcd
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 4507/etcd
tcp 0 0 127.0.0.1:2379 0.0.0.0:* LISTEN 4507/etcd
tcp 0 0 127.0.0.1:2380 0.0.0.0:* LISTEN 4507/etcd
Nobody listens on 4001...
Loader 3 10.11.51.231
On this loader I didn't try to add new members. So it looks like this:
etcdctl --debug cluster-health
Cluster-Endpoints: http://127.0.0.1:4001, http://127.0.0.1:2379
cURL Command: curl -X GET http://127.0.0.1:4001/v2/members
cURL Command: curl -X GET http://127.0.0.1:2379/v2/members
member ce2a822cea30bfca is healthy: got healthy result from http://localhost:2379
cluster is healthy
In other words it still sends requests to random port, but this time it isn't bothered by the fact that nobody replied...
Below is the contents of the configuration files:
cat /usr/lib/systemd/system/etcd.service
[Unit]
Description=Etcd Server
After=network.target
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
WorkingDirectory=/var/lib/etcd/
EnvironmentFile=-/etc/etcd/etcd.conf
User=etcd
# set GOMAXPROCS to number of processors
ExecStart=/bin/bash -c "GOMAXPROCS=$(nproc) /usr/bin/etcd --name=\"${ETCD_NAME}\" --data-dir=\"${ETCD_DATA_DIR}\" --listen-client-urls=\"${ETCD_LISTEN_CLIENT_URLS}\""
Restart=on-failure
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
And:
cat /etc/etcd/etcd.conf
# [member]
ETCD_NAME=default
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
#ETCD_WAL_DIR=""
#ETCD_SNAPSHOT_COUNT="10000"
#ETCD_HEARTBEAT_INTERVAL="100"
#ETCD_ELECTION_TIMEOUT="1000"
#ETCD_LISTEN_PEER_URLS="http://localhost:2380"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379"
#ETCD_MAX_SNAPSHOTS="5"
#ETCD_MAX_WALS="5"
#ETCD_CORS=""
#
#[cluster]
#ETCD_INITIAL_ADVERTISE_PEER_URLS="http://localhost:2380"
# if you use different ETCD_NAME (e.g. test), set ETCD_INITIAL_CLUSTER value for this name, i.e. "test=http://..."
#ETCD_INITIAL_CLUSTER="default=http://localhost:2380"
#ETCD_INITIAL_CLUSTER_STATE="new"
#ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://localhost:2379"
#ETCD_DISCOVERY=""
#ETCD_DISCOVERY_SRV=""
#ETCD_DISCOVERY_FALLBACK="proxy"
#ETCD_DISCOVERY_PROXY=""
#ETCD_STRICT_RECONFIG_CHECK="false"
#
#[proxy]
#ETCD_PROXY="off"
#ETCD_PROXY_FAILURE_WAIT="5000"
#ETCD_PROXY_REFRESH_INTERVAL="30000"
#ETCD_PROXY_DIAL_TIMEOUT="1000"
#ETCD_PROXY_WRITE_TIMEOUT="5000"
#ETCD_PROXY_READ_TIMEOUT="0"
#
#[security]
#ETCD_CERT_FILE=""
#ETCD_KEY_FILE=""
#ETCD_CLIENT_CERT_AUTH="false"
#ETCD_TRUSTED_CA_FILE=""
#ETCD_PEER_CERT_FILE=""
#ETCD_PEER_KEY_FILE=""
#ETCD_PEER_CLIENT_CERT_AUTH="false"
#ETCD_PEER_TRUSTED_CA_FILE=""
#
#[logging]
#ETCD_DEBUG="false"
# examples for -log-package-levels etcdserver=WARNING,security=DEBUG
#ETCD_LOG_PACKAGE_LEVELS=""
#
#[profiling]
#ETCD_ENABLE_PPROF="false"
So... what is going on? The error messages given by etcd are the typical mindless nonsense produced by Go built-ins. The HTTP server that etcd uses is again, the Go built-in junk, that produces non-standard and absolutely worthless replies. So I cannot understand what was (if at all) misconfigured / missing.

curl error 23 using vagrant on OSX 10.10.5

I'm using a Udacity class on linux shell commands. I'm using OSX 10.10.5. and I installed Ubuntu from Virtual Box (VirtualBox 5.0.20 for OS X hosts amd64 from xxxs://www.virtualbox.org/wiki/Downloads as instructed.)
It uses this VM of Ubuntu, and Vagrant (from xxxs://releases.hashicorp.com/vagrant/1.8.1/vagrant_1.8.1.dmg) to connect that terminal to the VM.
Using this VM is for file consistency. Commands build on each other in the class.
One task (which is minor...and not graded) is to run the following command
curl xxx://udacity.github.io/ud595-shell/stuff.zip -o things.zip
[I can't post more than one link due to low reputation the xxx is http above.]
This command should hit the 'net and download a zip file named "things.zip". This fails for me, giving the below:
vagrant#vagrant-ubuntu-trusty-64:/$ curl http://udacity.github.io/ud595-shell/stuff.zip -o things.zip
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0Warning: Failed to create the file things.zip: Permission denied
0 144k 0 796 0 0 3241 0 0:00:45 --:--:-- 0:00:45 3235
curl: (23) Failed writing body (0 != 796)
vagrant#vagrant-ubuntu-trusty-64:/$
So I get error 23 and am not sure why. (Googling is failing to answer this.) I'm guessing there is a permission error but not sure where to start.
Your missing permissions from the directory you're in when downloading the file. You can check this by changing to a directory like /tmp and trying it there.

how to run a daemon process in docker container with API/v1.5?

I'm tring to run a daemon process in the docker container with API/1.5,and here is my POST request, and the containter is created successed while the command seemed run failed,what's the problem here?pls give me some advance,thanks.
{
"Hostname":"",
"User":"",
"Memory":10000000,
"MemorySwap":0,
"AttachStdin":true,
"AttachStdout":true,
"AttachStderr":true,
"PortSpecs": ["8080:8080"],
"Privileged": true,
"Tty":true,
"OpenStdin":true,
"StdinOnce":false,
"Env":null,
"Cmd":[
"nc", "-l", "8080"
],
"Dns":null,
"Image":"base",
"Volumes":{},
"VolumesFrom":"",
"WorkingDir":"~"
}
And here is the response:
HTTP/1.1 201 Created
Content-Type: application/json
Content-Length: 113
Date: Sun, 29 Sep 2013 13:27:52 GMT
{"Id":"9a880dcbbbda","Warnings":["Your kernel does not support memory swap capabilities. Limitation discarded."]}
And I tested if the container is running with sudo docker ps -l and showed that:
ID IMAGE COMMAND CREATED STATUS PORTS
9a880dcbbbda base:latest nc -l 8080 33 seconds ago Exit 0
The result includes a warning, but it is just a warning, not an error.
It means that your system cannot limit the memory or swap allocated to the container, and therefore, the container will run without the memory or swap limitation. But other than that, it should be running fine.
Is there anything indicating that the container is not running correctly?

Resources