Skip to content

Commit 66f7de3

Browse files
juwinvirayfacebook-github-bot
authored andcommitted
install siege and nginx
Summary: Basic setup for load generator + nginx server. NOTE: Working on cachelib based implementation, want to check in nginx based version first Differential Revision: D83021880
1 parent e9645ac commit 66f7de3

4 files changed

Lines changed: 708 additions & 3 deletions

File tree

packages/cdn_bench/cleanup_cdn_bench.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
# LICENSE file in the root directory of this source tree.
66
set -Eeuo pipefail
77

8-
echo "Goodbye, World!"
8+
# nginx
9+
sudo dnf remove nginx

packages/cdn_bench/install_cdn_bench.sh

Lines changed: 72 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,75 @@
55
# LICENSE file in the root directory of this source tree.
66
set -Eeuo pipefail
77

8-
echo "Hello, World!"
8+
9+
CDN_PACKAGE_DIR="$(dirname "$(readlink -f "$0")")"
10+
LINUX_DIST_ID="$(awk -F "=" '/^ID=/ {print $2}' /etc/os-release | tr -d '"')"
11+
12+
# Siege
13+
SIEGE_GIT_REPO='https://github.com/JoeDog/siege.git'
14+
SIEGE_GIT_RELEASE_TAG='v4.0.7'
15+
16+
# Cachelib
17+
# CACHELIB_GIT_REPO='https://github.com/facebook/CacheLib'
18+
# CACHELIB_GIT_RELEASE_TAG='main'
19+
20+
##########################################
21+
# Install prerequisite packages
22+
##########################################
23+
if [ "$LINUX_DIST_ID" = "ubuntu" ]; then
24+
apt install -y autoconf automake libevent-dev zlib1g zlib1g-dev # Siege
25+
elif [ "$LINUX_DIST_ID" = "centos" ]; then
26+
dnf install -y autoconf automake libevent-devel zlib-devel # Siege
27+
fi
28+
29+
############################################
30+
# Install Nginx
31+
############################################
32+
if [ "$LINUX_DIST_ID" = "ubuntu" ]; then
33+
apt install -y nginx
34+
elif [ "$LINUX_DIST_ID" = "centos" ]; then
35+
dnf install -y nginx
36+
fi
37+
38+
############################################
39+
# Install Siege
40+
############################################
41+
if ! [ -x "$(command -v siege)" ]; then
42+
# shellcheck disable=SC2046
43+
git clone "$SIEGE_GIT_REPO"
44+
cd siege || exit 1
45+
# shellcheck disable=SC2046
46+
git checkout "$SIEGE_GIT_RELEASE_TAG"
47+
./utils/bootstrap
48+
automake --add-missing
49+
./configure
50+
make -j8
51+
sudo make uninstall
52+
sudo make install
53+
cd ..
54+
fi
55+
56+
# Copy siege.conf
57+
mkdir -p "$HOME/.siege"
58+
cp "${CDN_PACKAGE_DIR}/siege.conf" "$HOME/.siege/siege.conf"
59+
chmod 644 "$HOME/.siege/siege.conf"
60+
61+
echo "siege installed into: $HOME/.siege"
62+
63+
# ############################################
64+
# # Install Cachebench
65+
# ############################################
66+
# if ! [ -d ./CacheLib ]; then
67+
# git clone "$CACHELIB_GIT_REPO"
68+
# fi
69+
# cd CacheLib
70+
# # git checkout "$CACHELIB_GIT_RELEASE_TAG"
71+
72+
# # install deps for server build
73+
# ./build/fbcode_builder/getdeps.py install-system-deps cachelib
74+
# ./build/fbcode_builder/getdeps.py build --allow-system-packages cachelib
75+
# ./build/fbcode_builder/getdeps.py build --allow-system-packages proxygen
76+
77+
# # build cachelib server
78+
# cd ./examples/proxygen_cache
79+
# ./build.sh

packages/cdn_bench/run.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,11 @@
55
# LICENSE file in the root directory of this source tree.
66
set -Eeuo pipefail
77

8-
echo "Run, World!"
8+
# start nginx
9+
nginx
10+
11+
# run load gen
12+
siege localhost -t 60s
13+
14+
# stop nginx
15+
nginx -s quit

0 commit comments

Comments
 (0)