1
- FROM ubuntu:22 .04
1
+ FROM ubuntu:24 .04
2
2
RUN apt-get update -yqq && apt-get install -yqq apt-utils software-properties-common wget unzip cmake git
3
3
RUN apt-get install -yqq gcc g++ openssl libssl-dev zlib1g-dev build-essential locales
4
4
5
5
RUN apt-get -y install brotli libbrotli-dev
6
6
RUN apt-get -y install libreadline-dev
7
7
RUN apt-get -y install mysql-client
8
8
RUN apt-get -y install libmysqlclient-dev
9
+ RUN apt-get -y install psmisc
9
10
10
11
RUN locale-gen en_US.UTF-8
11
12
ENV LANG en_US.UTF-8
@@ -18,37 +19,95 @@ WORKDIR /
18
19
# RUN wget https://github.com/hggq/paozhu/releases/download/v1.5.8/benchmark.zip
19
20
RUN git clone https://github.com/hggq/paozhu
20
21
# RUN unzip benchmark.zip
21
- RUN rm -Rf ./paozhu/controller
22
- RUN rm -Rf ./paozhu/libs
23
- RUN mkdir ./paozhu/libs
24
- RUN mkdir ./paozhu/libs/types
22
+ # RUN rm -Rf ./paozhu/controller
23
+ # RUN rm -Rf ./paozhu/libs
24
+ # RUN rm -Rf ./paozhu/view
25
+ # RUN rm -Rf ./paozhu/viewsrc
26
+ # RUN rm -Rf ./paozhu/orm
27
+ # RUN rm -Rf ./paozhu/models
28
+ # RUN rm -Rf ./paozhu/common
25
29
26
- RUN mkdir ./paozhu/controller
27
- RUN mkdir ./paozhu/controller/include
28
- RUN mkdir ./paozhu/controller/src
29
30
30
- COPY ./paozhu_benchmark/controller/include/techempower.h ./paozhu/controller/include/
31
- COPY ./paozhu_benchmark/controller/src/techempower.cpp ./paozhu/controller/src/
32
31
33
- COPY ./paozhu_benchmark/libs/types/techempower_json.h ./paozhu/libs/types/
34
- COPY ./paozhu_benchmark/libs/types/techempower_json_jsonreflect.cpp ./paozhu/libs/types/
32
+ # COPY ./paozhu_benchmark/controller ./paozhu/
33
+ # COPY ./paozhu_benchmark/libs ./paozhu/
34
+ # COPY ./paozhu_benchmark/view ./paozhu/
35
+ # COPY ./paozhu_benchmark/viewsrc ./paozhu/
35
36
36
- COPY ./paozhu_benchmark/common/autocontrolmethod.hpp ./paozhu/common/
37
- COPY ./paozhu_benchmark/common/reghttpmethod_pre.hpp ./paozhu/common/
38
- COPY ./paozhu_benchmark/common/reghttpmethod.hpp ./paozhu/common/
39
- COPY ./paozhu_benchmark/common/json_reflect_headers.h ./paozhu/common/
37
+ # COPY ./paozhu_benchmark/orm ./paozhu/
38
+ # COPY ./paozhu_benchmark/models ./paozhu/
39
+ # COPY ./paozhu_benchmark/common ./paozhu/
40
+
41
+ # RUN ls -l ./paozhu
42
+ # RUN pwd
43
+ # RUN mkdir ./paozhu/common
44
+ # RUN mkdir ./paozhu/libs
45
+ # RUN mkdir ./paozhu/libs/types
46
+ # COPY ./paozhu_benchmark/libs/types/techempower_json.h ./paozhu/libs/types/
47
+ # COPY ./paozhu_benchmark/libs/types/techempower_json_jsonreflect.cpp ./paozhu/libs/types/
48
+
49
+ # RUN mkdir ./paozhu/controller
50
+ # RUN mkdir ./paozhu/controller/include
51
+ # RUN mkdir ./paozhu/controller/src
52
+
53
+ # COPY ./paozhu_benchmark/controller/include/techempower.h ./paozhu/controller/include/
54
+ # COPY ./paozhu_benchmark/controller/src/techempower.cpp ./paozhu/controller/src/
55
+
56
+
57
+ # COPY ./paozhu_benchmark/common/autocontrolmethod.hpp ./paozhu/common/
58
+ # COPY ./paozhu_benchmark/common/reghttpmethod_pre.hpp ./paozhu/common/
59
+ # COPY ./paozhu_benchmark/common/reghttpmethod.hpp ./paozhu/common/
60
+ # COPY ./paozhu_benchmark/common/json_reflect_headers.h ./paozhu/common/
61
+
62
+ # COPY ./paozhu_benchmark/common/cost_define.h ./paozhu/common/
63
+ # COPY ./paozhu_benchmark/common/autorestfulpaths.hpp ./paozhu/common/
64
+ # COPY ./paozhu_benchmark/common/websockets_method_reg.hpp ./paozhu/common/
65
+ # COPY ./paozhu_benchmark/common/httphook.cpp ./paozhu/common/
40
66
41
67
COPY ./paozhu_benchmark/conf/server.conf ./paozhu/conf/server.conf
42
68
COPY ./paozhu_benchmark/conf/orm.conf ./paozhu/conf/orm.conf
69
+
70
+ # must use testbenchmark.cpp to test benchmark
43
71
COPY ./paozhu_benchmark/CMakeLists.txt ./paozhu/CMakeLists.txt
44
72
73
+ # RUN mkdir ./paozhu/view
74
+ # RUN mkdir ./paozhu/view/techempower
75
+
76
+ # COPY ./paozhu_benchmark/view/techempower/fortunes.html ./paozhu/view/techempower/
77
+
78
+ # RUN mkdir ./paozhu/viewsrc
79
+ # RUN mkdir ./paozhu/viewsrc/include
80
+ # RUN mkdir ./paozhu/viewsrc/view
81
+ # RUN mkdir ./paozhu/viewsrc/view/techempower
82
+
83
+ # COPY ./paozhu_benchmark/viewsrc/view/techempower/fortunes.cpp ./paozhu/viewsrc/view/techempower/
84
+ # COPY ./paozhu_benchmark/viewsrc/include/viewsrc.h ./paozhu/viewsrc/include/
85
+ # COPY ./paozhu_benchmark/viewsrc/include/regviewmethod.hpp ./paozhu/viewsrc/include/
86
+
87
+
88
+
89
+ # RUN mkdir ./paozhu/orm
90
+ # RUN mkdir ./paozhu/orm/include
91
+
92
+
93
+ # COPY ./paozhu_benchmark/orm/orm.h ./paozhu/orm/
94
+ # COPY ./paozhu_benchmark/orm/include/fortunebase.h ./paozhu/orm/include/
95
+ # COPY ./paozhu_benchmark/orm/include/worldbase.h ./paozhu/orm/include/
96
+
97
+ # RUN mkdir ./paozhu/models
98
+ # RUN mkdir ./paozhu/models/include
99
+
100
+ # COPY ./paozhu_benchmark/models/include/Fortune.h ./paozhu/models/include/
101
+ # COPY ./paozhu_benchmark/models/include/World.h ./paozhu/models/include/
102
+ # COPY ./paozhu_benchmark/models/World.cpp ./paozhu/models/
103
+ # COPY ./paozhu_benchmark/models/Fortune.cpp ./paozhu/models/
104
+
45
105
WORKDIR /paozhu
46
106
RUN unzip asio.zip
47
107
48
108
RUN cmake . -B build -DCMAKE_BUILD_TYPE=Release
49
109
RUN cmake --build build
50
110
51
-
52
111
EXPOSE 8888
53
112
54
- CMD ./bin/paozhu
113
+ CMD ./bin/paozhu
0 commit comments