|
@@ -7,6 +7,16 @@ BUILD_DIR="${H2O_APP_HOME}_build"
|
|
H2O_APP_PROFILE_PORT="54321"
|
|
H2O_APP_PROFILE_PORT="54321"
|
|
H2O_APP_PROFILE_URL="http://127.0.0.1:$H2O_APP_PROFILE_PORT"
|
|
H2O_APP_PROFILE_URL="http://127.0.0.1:$H2O_APP_PROFILE_PORT"
|
|
|
|
|
|
|
|
+# A hacky way to detect whether we are running in the physical hardware or the cloud environment.
|
|
|
|
+if [[ $(nproc) -gt 16 ]]; then
|
|
|
|
+ # In the physical hardware environment the application server has more CPU cores than the
|
|
|
|
+ # database server, so we need to reduce the maximum number of database connections per
|
|
|
|
+ # thread accordingly.
|
|
|
|
+ DB_CONN=2
|
|
|
|
+else
|
|
|
|
+ DB_CONN=8
|
|
|
|
+fi
|
|
|
|
+
|
|
build_h2o_app()
|
|
build_h2o_app()
|
|
{
|
|
{
|
|
cmake -DCMAKE_INSTALL_PREFIX="$H2O_APP_HOME" -DCMAKE_BUILD_TYPE=Release \
|
|
cmake -DCMAKE_INSTALL_PREFIX="$H2O_APP_HOME" -DCMAKE_BUILD_TYPE=Release \
|
|
@@ -25,7 +35,7 @@ run_curl()
|
|
|
|
|
|
run_h2o_app()
|
|
run_h2o_app()
|
|
{
|
|
{
|
|
- "$1/h2o_app" -a1 -f "$2/template/fortunes.mustache" -m5 "$3" "$4" \
|
|
|
|
|
|
+ "$1/h2o_app" -a1 -f "$2/template/fortunes.mustache" -m "$DB_CONN" "$3" "$4" \
|
|
-d "host=$DBHOST dbname=hello_world user=benchmarkdbuser password=benchmarkdbpass" &
|
|
-d "host=$DBHOST dbname=hello_world user=benchmarkdbuser password=benchmarkdbpass" &
|
|
}
|
|
}
|
|
|
|
|
|
@@ -54,4 +64,5 @@ build_h2o_app "-fprofile-use"
|
|
make -j "$(nproc)" install
|
|
make -j "$(nproc)" install
|
|
popd
|
|
popd
|
|
rm -rf "$BUILD_DIR"
|
|
rm -rf "$BUILD_DIR"
|
|
|
|
+echo "Maximum database connections per thread: $DB_CONN"
|
|
run_h2o_app "${H2O_APP_HOME}/bin" "${H2O_APP_HOME}/share/h2o_app"
|
|
run_h2o_app "${H2O_APP_HOME}/bin" "${H2O_APP_HOME}/share/h2o_app"
|