Skip to content

Commit 28fe0b4

Browse files
committed
Added support for sdorm mongo-raw
Fixed issues in sdorm postgresql-raw Added tests for multiple sdorm scenarios (docker based) Fixed performance issues in Templates handler Fixed issues in sdorm sql connections (postgresql) Fixed performance issues in caching
1 parent 45560c5 commit 28fe0b4

72 files changed

Lines changed: 3348 additions & 143 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci-docker-benchmark.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ jobs:
1818
cp -f docker/DockerFile-tfb-test FrameworkBenchmarks/frameworks/C++/ffead-cpp/ffead-cpp.dockerfile
1919
cp -f docker/techempower-config/* FrameworkBenchmarks/frameworks/C++/ffead-cpp/
2020
cd FrameworkBenchmarks
21-
./tfb --mode benchmark --test ffead-cpp-postgresql ffead-cpp-postgresql-raw
21+
./tfb --mode benchmark --test ffead-cpp ffead-cpp-mongo-raw ffead-cpp-postgresql ffead-cpp-postgresql-raw

.github/workflows/ci-macos.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,9 @@ jobs:
8888
do
8989
sleep 1
9090
COUNTER=$((COUNTER+1))
91-
if [ "$COUNTER" = 120 ]
91+
if [ "$COUNTER" = 240 ]
9292
then
93+
cat logs/jobs.log
9394
echo "exiting...."
9495
exit 1
9596
fi
@@ -99,8 +100,9 @@ jobs:
99100
do
100101
sleep 1
101102
COUNTER=$((COUNTER+1))
102-
if [ "$COUNTER" = 120 ]
103+
if [ "$COUNTER" = 240 ]
103104
then
105+
cat logs/jobs.log
104106
echo "exiting....dlib"
105107
exit 1
106108
fi

.github/workflows/ci-ubuntu.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ jobs:
6767
do
6868
sleep 1
6969
COUNTER=$((COUNTER+1))
70-
if [ "$COUNTER" = 120 ]
70+
if [ "$COUNTER" = 240 ]
7171
then
7272
echo "exiting...."
7373
exit 1
@@ -78,7 +78,7 @@ jobs:
7878
do
7979
sleep 1
8080
COUNTER=$((COUNTER+1))
81-
if [ "$COUNTER" = 120 ]
81+
if [ "$COUNTER" = 240 ]
8282
then
8383
echo "exiting....dlib"
8484
exit 1

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,6 @@ lang-server-backends/java/wizzardo-http/target
6666
/Debug/
6767
ffead-cpp-4.0-bin/
6868
build/
69-
nginx-*/
69+
nginx-*/
70+
docker/test/src
71+
docker/test/web

CMakeLists.txt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ if(MOD_SDORM_MONGO)
374374
if(NOT HAVE_BSONLIB)
375375
message(FATAL_ERROR "bson-1.0 library not found")
376376
endif()
377-
include_directories("${CMAKE_SOURCE_DIR}/modules/sdorm/mongo")
377+
include_directories("${CMAKE_SOURCE_DIR}/modules/sdorm/mongo" "${CMAKE_SOURCE_DIR}/modules/sdorm/mongo/raw")
378378
endif(MOD_SDORM_MONGO)
379379
if(MOD_SER_BIN)
380380
set(INC_BINSER 1)
@@ -489,10 +489,12 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/web/default)
489489
add_subdirectory(${PROJECT_SOURCE_DIR}/web/flexApp)
490490
add_subdirectory(${PROJECT_SOURCE_DIR}/web/oauthApp)
491491
add_subdirectory(${PROJECT_SOURCE_DIR}/web/markers)
492+
add_subdirectory(${PROJECT_SOURCE_DIR}/web/peer-server)
492493
add_subdirectory(${PROJECT_SOURCE_DIR}/web/te-benchmark)
493494
add_subdirectory(${PROJECT_SOURCE_DIR}/web/te-benchmark-um)
494495
add_subdirectory(${PROJECT_SOURCE_DIR}/web/te-benchmark-um-pq)
495-
add_subdirectory(${PROJECT_SOURCE_DIR}/web/peer-server)
496+
add_subdirectory(${PROJECT_SOURCE_DIR}/web/te-benchmark-um-mgr)
497+
496498
if(MOD_APACHE)
497499
add_subdirectory(${PROJECT_SOURCE_DIR}/modules/apache_mod_ffeadcpp)
498500
endif()
@@ -578,31 +580,34 @@ if(CYGWIN OR MINGW)
578580
install(FILES ${PROJECT_BINARY_DIR}/web/flexApp/cygflexApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
579581
install(FILES ${PROJECT_BINARY_DIR}/web/oauthApp/cygoauthApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
580582
install(FILES ${PROJECT_BINARY_DIR}/web/markers/cygmarkers${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
583+
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/cygpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
581584
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark/cygte_benchmark${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
582585
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um/cygte_benchmark_um${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
583586
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-pq/cygte_benchmark_um_pq${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
584-
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/cygpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
587+
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-mgr/cygte_benchmark_um_mgr${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
585588
install(FILES ${PROJECT_BINARY_DIR}/src/modules/libffead-modules${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
586589
install(FILES ${PROJECT_BINARY_DIR}/src/framework/libffead-framework${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
587590
install(FILES ${PROJECT_BINARY_DIR}/web/default/libdefault${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
588591
install(FILES ${PROJECT_BINARY_DIR}/web/flexApp/libflexApp${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
589592
install(FILES ${PROJECT_BINARY_DIR}/web/oauthApp/liboauthApp${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
590593
install(FILES ${PROJECT_BINARY_DIR}/web/markers/libmarkers${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
594+
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
591595
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark/libte_benchmark${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
592596
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um/libte_benchmark_um${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
593597
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-pq/libte_benchmark_um_pq${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
594-
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
598+
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-mgr/libte_benchmark_um_mgr${CMAKE_SHARED_LIBRARY_SUFFIX}.a DESTINATION ${PROJECT_NAME}-bin/lib)
595599
else()
596600
install(FILES ${PROJECT_BINARY_DIR}/src/modules/libffead-modules${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
597601
install(FILES ${PROJECT_BINARY_DIR}/src/framework/libffead-framework${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
598602
install(FILES ${PROJECT_BINARY_DIR}/web/default/libdefault${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
599603
install(FILES ${PROJECT_BINARY_DIR}/web/flexApp/libflexApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
600604
install(FILES ${PROJECT_BINARY_DIR}/web/oauthApp/liboauthApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
601605
install(FILES ${PROJECT_BINARY_DIR}/web/markers/libmarkers${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
606+
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
602607
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark/libte_benchmark${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
603608
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um/libte_benchmark_um${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
604609
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-pq/libte_benchmark_um_pq${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
605-
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
610+
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-mgr/libte_benchmark_um_mgr${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
606611
endif()
607612
install(FILES ${PROJECT_BINARY_DIR}/ffead-cpp.exe DESTINATION ${PROJECT_NAME}-bin/)
608613
else()
@@ -612,10 +617,11 @@ else()
612617
install(FILES ${PROJECT_BINARY_DIR}/web/flexApp/libflexApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
613618
install(FILES ${PROJECT_BINARY_DIR}/web/oauthApp/liboauthApp${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
614619
install(FILES ${PROJECT_BINARY_DIR}/web/markers/libmarkers${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
620+
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
615621
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark/libte_benchmark${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
616622
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um/libte_benchmark_um${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
617623
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-pq/libte_benchmark_um_pq${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
618-
install(FILES ${PROJECT_BINARY_DIR}/web/peer-server/libpeer_server${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
624+
install(FILES ${PROJECT_BINARY_DIR}/web/te-benchmark-um-mgr/libte_benchmark_um_mgr${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${PROJECT_NAME}-bin/lib)
619625
install(FILES ${PROJECT_BINARY_DIR}/ffead-cpp DESTINATION ${PROJECT_NAME}-bin/)
620626
endif()
621627
if(SRV_ALL)

Makefile.am

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ endif
8585
if MOD_SDORM_MONGO
8686
includedirsall += \
8787
src/modules/sdorm/mongo/*.h
88+
includedirsall += \
89+
src/modules/sdorm/mongo/raw/*.h
8890
endif
8991
if MOD_DISTOCACHE
9092
includedirsall += \
@@ -136,6 +138,8 @@ endif
136138
if MOD_SDORM_MONGO
137139
includedirsall += \
138140
src/modules/sdorm/mongo/*.h
141+
includedirsall += \
142+
src/modules/sdorm/mongo/raw/*.h
139143
endif
140144
if MOD_MEMCACHED
141145
includedirsall += \

configure.ac

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1197,10 +1197,11 @@ AC_CONFIG_FILES([web/default/src/autotools/Makefile
11971197
web/flexApp/src/autotools/Makefile
11981198
web/oauthApp/src/autotools/Makefile
11991199
web/markers/src/autotools/Makefile
1200+
web/peer-server/src/autotools/Makefile
12001201
web/te-benchmark/src/autotools/Makefile
12011202
web/te-benchmark-um/src/autotools/Makefile
12021203
web/te-benchmark-um-pq/src/autotools/Makefile
1203-
web/peer-server/src/autotools/Makefile])
1204+
web/te-benchmark-um-mgr/src/autotools/Makefile])
12041205
AC_OUTPUT
12051206

12061207
echo "Host: $host"

docker/techempower-config/benchmark_config.json

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,35 @@
2020
"webserver": "ffead-cpp",
2121
"os": "Linux",
2222
"database_os": "Linux",
23-
"display_name": "ffead-cpp-mongo-redis",
23+
"display_name": "ffead-cpp-mongo",
2424
"notes": "mongodb redis",
2525
"versus": "",
2626
"tags": []
2727
},
28+
"ffead-cpp-mongo-raw": {
29+
"json_url": "/te-benchmark-um-mgr/json",
30+
"plaintext_url": "/plaintext",
31+
"db_url": "/te-benchmark-um-mgr/db",
32+
"query_url": "/te-benchmark-um-mgr/queries?queries=",
33+
"fortune_url": "/te-benchmark-um-mgr/fortunes",
34+
"update_url": "/te-benchmark-um-mgr/updates?queries=",
35+
"cached_query_url": "/te-benchmark-um-mgr/cached-worlds?count=",
36+
"port": 8080,
37+
"approach": "Realistic",
38+
"classification": "Fullstack",
39+
"database": "mongodb",
40+
"framework": "ffead-cpp",
41+
"language": "C++",
42+
"orm": "Raw",
43+
"platform": "None",
44+
"webserver": "ffead-cpp",
45+
"os": "Linux",
46+
"database_os": "Linux",
47+
"display_name": "ffead-cpp-mongo-raw",
48+
"notes": "mongodb raw redis",
49+
"versus": "",
50+
"tags": []
51+
},
2852
"lithium": {
2953
"json_url": "/te-benchmark-um/json",
3054
"plaintext_url": "/plaintext",

docker/techempower-config/ffead-cpp-base.dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ ENV IROOT=/installs
77

88
RUN mkdir /installs
99
#COPY te-benchmark-um/ /installs/te-benchmark-um/
10+
#COPY te-benchmark-um-pq/ /installs/te-benchmark-um-pq/
11+
#COPY te-benchmark-um-mgr/ /installs/te-benchmark-um-mgr/
1012

1113
WORKDIR ${IROOT}
1214

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
FROM sumeetchhetri/ffead-cpp-4.0-base:2.0
2+
3+
ENV IROOT=/installs
4+
5+
WORKDIR /
6+
7+
CMD ./run_ffead.sh ffead-cpp-4.0 emb mongo-raw redis

0 commit comments

Comments
 (0)