* Adding Hamlet 3 Adding Hamlet 3 / Swoole Integration * Update Swoole version, Limit number of processes run by swoole * Optimize composer autoloader
@@ -1,6 +1,6 @@
FROM php:7.2
-ENV SWOOLE_VERSION=4.0.4
+ENV SWOOLE_VERSION=4.2.1
RUN cd /tmp && curl -sSL "https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz" | tar xzf - \
&& cd swoole-src-${SWOOLE_VERSION} \
@@ -16,6 +16,6 @@ ADD ./ /hamlet
WORKDIR /hamlet
RUN chmod -R 777 /hamlet
-RUN composer update
+RUN composer update --optimize-autoloader
-CMD php /hamlet/swoole.php
+CMD sed -i 's|NUMCORES|'"$(nproc)"'|g' swoole.php && php swoole.php
@@ -16,7 +16,7 @@ WORKDIR /php
RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 2048|pm.max_children = 512|g" /etc/php/7.2/fpm/php-fpm.conf ; fi;
-RUN composer install --quiet
+RUN composer install --quiet --optimize-autoloader
RUN chmod -R 777 /php
@@ -1,7 +1,13 @@
<?php
+use Swoole\Http\Server;
+
require_once __DIR__ . '/vendor/autoload.php';
\Hamlet\Bootstraps\SwooleBootstrap::run('0.0.0.0', 8080, function () {
return new \Benchmark\Application;
+}, function (Server $server) {
+ $server->set([
+ 'worker_num' => NUMCORES
+ ]);
});