Преглед изворни кода

cutelyst: Update to 1.6.0beta5 to make use of SO_REUSEPORT (#2675)

* cutelyst: Update to 1.6.0beta5 to make use of SO_REUSEPORT

* cutelyst: Update to 1.6.0beta6 to get crash fix when setting cpu affinity

* cutelyst: Use CPU_COUNT to build the framework
Daniel Nicoletti пре 8 година
родитељ
комит
90bb6c660c

+ 19 - 3
frameworks/C++/cutelyst/config.sh

@@ -14,7 +14,7 @@ echo UWSGI=${UWSGI}
 echo NGINX=${NGINX}
 echo QT_VERSION_MM=${QT_VERSION_MM}
 echo CUTELYST_EVENT_LOOP_EPOLL=${CUTELYST_EVENT_LOOP_EPOLL}
-echo BALANCER=${BALANCER}
+echo CPU_AFFINITY=${CPU_AFFINITY}
 
 if [ "${DRIVER}" == "QMYSQL" ]; then
   fw_depends mysql
@@ -47,9 +47,25 @@ sed -i "s|SendDate=.*|SendDate=${SEND_DATE}|g" ${CROOT}/config.ini
 export LD_LIBRARY_PATH=/opt/qt${QT_VERSION_MM}/lib:${CROOT}/lib/x86_64-linux-gnu/
 
 if [ -n "${UWSGI}" ]; then
-  uwsgi --ini ${CROOT}/config.ini --plugin ${CROOT}/lib/uwsgi/plugins/cutelyst_plugin.so --cutelyst-app ${CROOT}/benchmarks/src/libcutelyst_benchmarks.so ${PROCESS_OR_THREAD} $CPU_COUNT &
+  uwsgi \
+  --ini ${CROOT}/config.ini \
+  --plugin ${CROOT}/lib/uwsgi/plugins/cutelyst_plugin.so \
+  --cutelyst-app ${CROOT}/benchmarks/src/libcutelyst_benchmarks.so \
+  ${PROCESS_OR_THREAD} \
+  ${CPU_COUNT} \
+  ${CPU_AFFINITY} \
+  --reuse-port \
+  &
 else
-  ${CROOT}/bin/cutelyst-wsgi --ini ${CROOT}/config.ini -a ${CROOT}/benchmarks/src/libcutelyst_benchmarks.so ${PROCESS_OR_THREAD} $CPU_COUNT --socket-timeout 0 ${BALANCER} &
+  ${CROOT}/bin/cutelyst-wsgi \
+  --ini ${CROOT}/config.ini \
+  -a ${CROOT}/benchmarks/src/libcutelyst_benchmarks.so \
+  ${PROCESS_OR_THREAD} \
+  ${CPU_COUNT} \
+  ${CPU_AFFINITY} \
+  --socket-timeout 0 \
+  --reuse-port \
+  &
 fi
 
 # configure Nginx

+ 0 - 1
frameworks/C++/cutelyst/config/config.ini

@@ -14,7 +14,6 @@ http-socket = :8080
 ;thunder-lock
 ; used by uwsgi_stop.ini
 pidfile = /tmp/uwsgi.pid
-cpu-affinity = 1
 
 [Cutelyst]
 Driver=

+ 0 - 1
frameworks/C++/cutelyst/config/config_socket.ini

@@ -17,7 +17,6 @@ chmod-socket = 666
 ;thunder-lock
 ; used by uwsgi_stop.ini
 pidfile = /tmp/uwsgi.pid
-cpu-affinity = 1
 
 [Cutelyst]
 Driver=

+ 1 - 1
frameworks/C++/cutelyst/nginx.conf

@@ -37,7 +37,7 @@ http {
         # http://nginx.org/en/docs/http/ngx_http_core_module.html#listen
         # http://www.techrepublic.com/article/take-advantage-of-tcp-ip-options-to-optimize-data-transmission/
         # The backlog argument to listen() is set to match net.ipv4.tcp_max_syn_backlog and net.core.somaxconn
-        listen       8080 default_server deferred backlog=65535;
+        listen       8080 default_server deferred backlog=65535 reuseport;
         server_name  localhost;
 
         location / {

+ 1 - 0
frameworks/C++/cutelyst/setup_pf.sh

@@ -4,5 +4,6 @@ DRIVER=
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_pf_epoll.sh

@@ -4,6 +4,7 @@ DRIVER=
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_pf_my.sh

@@ -4,5 +4,6 @@ DRIVER=QMYSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_pf_my_epoll.sh

@@ -4,6 +4,7 @@ DRIVER=QMYSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_pf_pg.sh

@@ -4,5 +4,6 @@ DRIVER=QPSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_pf_pg_epoll.sh

@@ -4,6 +4,7 @@ DRIVER=QPSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread.sh

@@ -4,6 +4,6 @@ DRIVER=
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread_epoll.sh

@@ -4,7 +4,7 @@ DRIVER=
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread_my.sh

@@ -4,6 +4,6 @@ DRIVER=QMYSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread_my_epoll.sh

@@ -4,7 +4,7 @@ DRIVER=QMYSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread_pg.sh

@@ -4,6 +4,6 @@ DRIVER=QPSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 1
frameworks/C++/cutelyst/setup_thread_pg_epoll.sh

@@ -4,7 +4,7 @@ DRIVER=QPSQL
 UWSGI=
 NGINX=
 PROCESS_OR_THREAD=-t
-BALANCER=--experimental-thread-balancer
+CPU_AFFINITY='--cpu-affinity=1'
 export CUTELYST_EVENT_LOOP_EPOLL=1
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_uwsgi_nginx.sh

@@ -4,5 +4,6 @@ DRIVER=
 UWSGI=1
 NGINX=1
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_uwsgi_nginx_my.sh

@@ -4,5 +4,6 @@ DRIVER=QMYSQL
 UWSGI=1
 NGINX=1
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 1 - 0
frameworks/C++/cutelyst/setup_uwsgi_nginx_pg.sh

@@ -4,5 +4,6 @@ DRIVER=QPSQL
 UWSGI=1
 NGINX=1
 PROCESS_OR_THREAD=-p
+CPU_AFFINITY='--cpu-affinity=1'
 
 source ${TROOT}/config.sh

+ 2 - 2
toolset/setup/linux/frameworks/cutelyst.sh

@@ -2,7 +2,7 @@
 
 fw_installed cutelyst && return 0
 
-CUTELYST_VER=1.6.0-beta4
+CUTELYST_VER=1.6.0-beta6
 QT_VERSION_MM=56
 QT_VERSION_FULL=562-trusty
 CROOT=${IROOT}/cutelyst
@@ -40,7 +40,7 @@ cmake .. \
 -DUWSGI_PLUGINS_DIR=${CROOT}/lib/uwsgi/plugins \
 -DUSE_JEMALLOC=on
 
-make -j $MAX_THREADS && sudo make install
+make -j $CPU_COUNT && make install
 
 echo "QT_VERSION_MM=${QT_VERSION_MM}" > $IROOT/cutelyst.installed