Browse Source

Adding workerman (#5210)

vka 5 years ago
parent
commit
d9cf4137e4

+ 23 - 0
frameworks/PHP/hamlet/benchmark_config.json

@@ -46,6 +46,29 @@
       "display_name": "hamlet-swoole",
       "notes": "",
       "versus": "swoole"
+    },
+    "workerman": {
+      "plaintext_url": "/plaintext",
+      "json_url": "/json",
+      "db_url": "/db",
+      "query_url": "/queries?queries=",
+      "fortune_url": "/fortunes",
+      "update_url": "/update?queries=",
+      "port": 8080,
+      "approach": "Realistic",
+      "classification": "Fullstack",
+      "database": "mysql",
+      "framework": "hamlet",
+      "language": "PHP",
+      "flavor": "PHP7",
+      "orm": "micro",
+      "platform": "workerman",
+      "webserver": "none",
+      "os": "Linux",
+      "database_os": "Linux",
+      "display_name": "hamlet-workerman",
+      "notes": "",
+      "versus": "workerman"
     }
   }]
 }

+ 2 - 0
frameworks/PHP/hamlet/deploy/fpm/php.ini

@@ -5,8 +5,10 @@ opcache.max_accelerated_files = 10000
 opcache.save_comments = 1
 opcache.consistency_checks = 0
 opcache.enable = 1
+opcache.enable_cli=1
 opcache.optimization_level = 0xFFFFFFFF
 opcache.huge_code_pages = 0
 opcache.validate_timestamps = 0
 
 realpath_cache_ttl = 1200
+memory_limit = 512M

+ 24 - 0
frameworks/PHP/hamlet/hamlet-workerman.dockerfile

@@ -0,0 +1,24 @@
+FROM ubuntu:19.04
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
+RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
+RUN apt-get update -yqq > /dev/null && \
+    apt-get install -yqq php7.3 php7.3-common php7.3-cli php7.3-mysql  > /dev/null
+
+RUN apt-get install -yqq composer > /dev/null
+
+RUN apt-get install -y php-pear php-dev libevent-dev > /dev/null
+RUN printf "\n\n /usr/lib/x86_64-linux-gnu/\n\n\nno\n\n\n" | pecl install event > /dev/null && echo "extension=event.so" > /etc/php/7.3/cli/conf.d/event.ini
+
+COPY deploy/fpm/php.ini /etc/php/7.3/fpm/php.ini
+
+ADD ./ /hamlet
+WORKDIR /hamlet
+
+RUN composer require hamlet-framework/http-workerman:dev-master --quiet
+RUN composer require hamlet-framework/db-pdo:dev-master --quiet
+RUN composer update --no-dev --quiet
+
+CMD php /hamlet/workerman.php start

+ 15 - 0
frameworks/PHP/hamlet/workerman.php

@@ -0,0 +1,15 @@
+<?php
+
+use Benchmark\Application;
+use Hamlet\Database\PDO\PDODatabase;
+use Hamlet\Http\Workerman\Bootstraps\WorkermanBootstrap;
+
+require_once __DIR__ . '/vendor/autoload.php';
+
+$database = new PDODatabase(
+    'mysql:host=tfb-database;dbname=hello_world',
+    'benchmarkdbuser',
+    'benchmarkdbpass'
+);
+$application = new Application($database);
+WorkermanBootstrap::run('0.0.0.0', 8080, $application);