123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- #!/bin/bash
- #From https://github.com/TechEmpower/FrameworkBenchmarks/blob/master/frameworks/C%2B%2B/ulib/setup_json.sh
- MAX_THREADS=$(( 3 * `nproc` / 2 ))
- WRIT_THREADS=$(( $MAX_THREADS / 3 ))
- SERV_THREADS=$(( $MAX_THREADS - $WRIT_THREADS ))
- cd $IROOT/ffead-cpp-src/
- chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
- rm -rf web/te-benchmark-um
- rm -rf web/te-benchmark-um-pq
- rm -rf web/te-benchmark-um-mgr
- mv ${IROOT}/server.sh script/
- mv ${IROOT}/te-benchmark-um web/
- mv ${IROOT}/te-benchmark-um-pq web/
- mv ${IROOT}/te-benchmark-um-mgr web/
- sed -i 's|THRD_PSIZ=6|THRD_PSIZ='${SERV_THREADS}'|g' resources/server.prop
- sed -i 's|W_THRD_PSIZ=2|W_THRD_PSIZ='${WRIT_THREADS}'|g' resources/server.prop
- sed -i 's|ENABLE_CRS=true|ENABLE_CRS=false|g' resources/server.prop
- sed -i 's|ENABLE_SEC=true|ENABLE_SEC=false|g' resources/server.prop
- sed -i 's|ENABLE_FLT=true|ENABLE_FLT=false|g' resources/server.prop
- sed -i 's|ENABLE_CNT=true|ENABLE_CNT=true|g' resources/server.prop
- sed -i 's|ENABLE_EXT_CNT=true|ENABLE_EXT_CNT=false|g' resources/server.prop
- sed -i 's|ENABLE_CNT_MPG=true|ENABLE_CNT_MPG=false|g' resources/server.prop
- sed -i 's|ENABLE_CNT_PTH=true|ENABLE_CNT_PTH=false|g' resources/server.prop
- sed -i 's|ENABLE_CNT_EXT=true|ENABLE_CNT_EXT=false|g' resources/server.prop
- sed -i 's|ENABLE_CNT_RST=true|ENABLE_CNT_RST=true|g' resources/server.prop
- sed -i 's|ENABLE_EXT=true|ENABLE_EXT=true|g' resources/server.prop
- sed -i 's|ENABLE_SCR=true|ENABLE_SCR=false|g' resources/server.prop
- sed -i 's|ENABLE_SWS=true|ENABLE_SWS=false|g' resources/server.prop
- sed -i 's|ENABLE_JOBS=true|ENABLE_JOBS=false|g' resources/server.prop
- sed -i 's|LOGGING_ENABLED=true|LOGGING_ENABLED=false|g' resources/server.prop
- sed -i 's|EVH_SINGLE=true|EVH_SINGLE=false|g' resources/server.prop
- rm -rf web/default web/oauthApp web/flexApp web/markers web/te-benchmark web/peer-server
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um/config/sdorm.xml
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um/config/sdormmongo.xml
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um/config/sdormmysql.xml
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um/config/sdormpostgresql.xml
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um-pq/config/sdorm.xml
- sed -i 's|localhost|tfb-database|g' web/te-benchmark-um-mgr/config/sdorm.xml
- sed -i 's|127.0.0.1|tfb-database|g' resources/sample-odbcinst.ini
- sed -i 's|127.0.0.1|tfb-database|g' resources/sample-odbc.ini
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/default)||g' CMakeLists.txt
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/flexApp)||g' CMakeLists.txt
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/oauthApp)||g' CMakeLists.txt
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/markers)||g' CMakeLists.txt
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/te-benchmark)||g' CMakeLists.txt
- sed -i 's|add_subdirectory(${PROJECT_SOURCE_DIR}/web/peer-server)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/default/libdefault${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/flexApp/libflexApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/oauthApp/liboauthApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/markers/libmarkers${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark/libte_benchmark${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)||g' CMakeLists.txt
- sed -i 's|web/default/src/autotools/Makefile||g' configure.ac
- sed -i 's|web/flexApp/src/autotools/Makefile||g' configure.ac
- sed -i 's|web/oauthApp/src/autotools/Makefile||g' configure.ac
- sed -i 's|web/markers/src/autotools/Makefile||g' configure.ac
- sed -i 's|web/te-benchmark/src/autotools/Makefile||g' configure.ac
- sed -i 's|web/peer-server/src/autotools/Makefile||g' configure.ac
- cmake -DSRV_ALL=on -DCINATRA_INCLUDES=${IROOT}/cinatra/include -DMOD_APACHE=on -DMOD_NGINX=on -DMOD_MEMCACHED=on -DMOD_REDIS=on -DMOD_SDORM_MONGO=on .
- cp resources/sample-odbcinst.ini ${IROOT}/odbcinst.ini
- cp resources/sample-odbc.ini ${IROOT}/odbc.ini
- #Start building for mongodb as the World model is different for SQL use case
- cd ${IROOT}/ffead-cpp-src/
- cp -f web/te-benchmark-um/sql-src/TeBkUmWorldmongo.h web/te-benchmark-um/include/TeBkUmWorld.h
- cp -f web/te-benchmark-um/sql-src/TeBkUmWorldmongo.cpp web/te-benchmark-um/src/TeBkUmWorld.cpp
- make install -j${MAX_THREADS}
- rm -f /usr/local/lib/libffead-*
- rm -f /usr/local/lib/libte_benc*
- rm -f /usr/local/lib/libinter.so
- rm -f /usr/local/lib/libdinter.so
- cd ffead-cpp-5.0-bin
- #cache related dockerfiles will add the cache.xml accordingly whenever needed
- rm -f web/te-benchmark-um/config/cache.xml
- rm -f web/te-benchmark-um-pq/config/cache.xml
- rm -f web/te-benchmark-um-mgr/config/cache.xml
- chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
- ./server.sh &
- while [ ! -f lib/libinter.so ]
- do
- sleep 1
- done
- while [ ! -f lib/libdinter.so ]
- do
- sleep 1
- done
- pkill ffead-cpp
- cd ${IROOT}/ffead-cpp-src/
- cp -rf ffead-cpp-5.0-bin ${IROOT}/ffead-cpp-5.0
- rm -rf ffead-cpp-5.0-bin
- mv ${IROOT}/nginxfc ${IROOT}/nginx-ffead-mongo
- cd ${IROOT}/ffead-cpp-5.0
- chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
- chmod 755 *.sh
- rm -f *.cntrl
- rm -f tmp/*.sess
- #Done building for mongodb
- #Start building for sql as the World model is different for mongodb use case
- cd ${IROOT}/ffead-cpp-src/
- cp -f web/te-benchmark-um/sql-src/TeBkUmWorldsql.h web/te-benchmark-um/include/TeBkUmWorld.h
- cp -f web/te-benchmark-um/sql-src/TeBkUmWorldsql.cpp web/te-benchmark-um/src/TeBkUmWorld.cpp
- make install -j${MAX_THREADS}
- cd ffead-cpp-5.0-bin
- #cache related dockerfiles will add the cache.xml accordingly whenever needed
- rm -f web/te-benchmark-um/config/cache.xml
- rm -f web/te-benchmark-um-pq/config/cache.xml
- rm -f web/te-benchmark-um-mgr/config/cache.xml
- chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
- ./server.sh &
- while [ ! -f lib/libinter.so ]
- do
- sleep 1
- done
- while [ ! -f lib/libdinter.so ]
- do
- sleep 1
- done
- pkill ffead-cpp
- cd ${IROOT}/ffead-cpp-src/
- cp -rf ffead-cpp-5.0-bin ${IROOT}/ffead-cpp-5.0-sql
- rm -rf ffead-cpp-5.0-bin
- mv ${IROOT}/nginxfc ${IROOT}/nginx-ffead-sql
- cd ${IROOT}/ffead-cpp-5.0-sql
- chmod 755 *.sh resources/*.sh rtdcf/autotools/*.sh
- chmod 755 *.sh
- rm -f *.cntrl
- rm -f tmp/*.sess
- #Done building for sql
|