Использование SWOOLE с PHP в качестве бэкэндаPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование SWOOLE с PHP в качестве бэкэнда

Сообщение Anonymous »

Я использую PHP/Nginx в качестве серверной части своего приложения. Я боялся, что когда многие пользователи вызывают функции в PHP, это будет замедляться, поскольку PHP не поддерживает асинхронные вызовы функций. Я проверяю приведенную ниже команду терминала MacOS, чтобы получить максимальное количество вызовов в секунду, с помощью следующей команды:

Код: Выделить всё

wrk -t4 -c100 http://103.22.110.32:80/a.php
результаты:

Код: Выделить всё

Running 10s test @ http://103.22.110.32:80/a.php
4 threads and 100 connections
Thread Stats   Avg      Stdev     Max   +/- Stdev
Latency   111.87ms   30.31ms 430.54ms   93.69%
Req/Sec   207.00     46.30   313.00     79.08%
8159 requests in 10.05s, 1.58MB read
Non-2xx or 3xx responses: 8159
Requests/sec:    812.05
Transfer/sec:    160.98KB
Я предполагаю, что это означает, что максимальное количество одновременных вызовов составляет ~ 800 вызовов в секунду. т.е. если у меня, например, 80 тысяч пользователей, он будет ждать ~ 100 секунд.
Я проверил, что SWOOLE может поддерживать асинхронный вызов, что делает PHP сверхбыстрым. скорость может легко увеличиться до > 60 000 вызовов в секунду.
Оригинальный серверный код PHP:

Код: Выделить всё

 $tasknum = $request->get['Task'];
switch ($tasknum) {
case "task":
Code for task A
break;
case "taskb":
Code for task B
break;
case "taskc":
Code for task c
break;
}
Я использовал приведенный ниже код для SWOOLE:

Код: Выделить всё

use Swoole\Http\Server;
use Swoole\Coroutine;
require_once 'vendor/autoload.php';

$server = new Server("0.0.0.0", 81);

$server->on('Request', function ($request, $response) {
// Handle incoming requests
$tasknum = $request->get['Task'];
switch ($tasknum) {
case "task":
$response->header("Content-Type", "text/plain");
$response->end("Task A executed successfully.");
break;
case "taskb":
$response->header("Content-Type", "text/plain");
$response->end("Task A executed successfully.");
break;
case "taskc":
$response->header("Content-Type", "text/plain");
$response->end("Task A executed successfully.");
break;
case "a":
$response->header("Content-Type", "text/plain");
$response->end("ppppirnt aaaa");
break;
}
});

$server->start();
Вопрос:
  • это правильный подход к использованию Swoole или, например, я могу использовать Crootine?
    Вопрос:

    это правильный подход к использованию Swoole или, например, я могу использовать Crootine?
    Вопрос:

    это правильный подход к использованию Swoole или, например, я могу использовать Crootine? li>
    как вызвать вызов PHP API с помощью Task =taskc , например.
    когда запускать сервер Swoole и останавливается ли он или работает бесконечно< /li>


Подробнее здесь: https://stackoverflow.com/questions/790 ... as-backend
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • PHP-модуль Swoole: неопределенный символ: проблема spl_ce_Countable
    Anonymous » » в форуме Php
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Значительная потеря производительности при использовании Swoole, Laravel 9 и Docker в Rocky Linux 9 при использовании по
    Гость » » в форуме Php
    0 Ответы
    50 Просмотры
    Последнее сообщение Гость
  • Swoole не обнаруживает изменения данных MySQL
    Anonymous » » в форуме Php
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как лучше всего начать работу со Swoole? [закрыто]
    Anonymous » » в форуме Php
    0 Ответы
    62 Просмотры
    Последнее сообщение Anonymous
  • Laravel Octane, как Octane управляет PostgreSQL Connections под Swoole/Roadrunner?
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»