joanhey / ngx-php-micro-blog

Microlog example based on Nginx and Nginx module (NGX-PHP8), A high-performance implementation that does not use the combination of Nginx and PHP-FPM, which is safe and reliable.

Home Page:https://soulteary.com/2022/10/05/nginx-black-magic-low-cost-high-performance-applications-using-ngx-php-modules.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nginx NGX-PHP Module Demo (MicroBlog)

English Ver / 中文教程

使用 Nginx 模块 NGX-PHP 实现的一个简单的微博应用 Demo,不依赖 PHP-FPM 等技术栈,高效、安全、可靠。

基于 Nginx 官方容器构建,基础镜像仅 12MB。

界面预览

使用方法

启动容器:

docker run --rm -it -v `pwd`/data:/usr/share/nginx/html/data:rw -p 8090:80 soulteary/ngx-php:8-microblog

或者使用 docker compose:

docker-compose -f docker-compose.ngx-php.yml up

打开浏览器:http://localhost:8090

性能测试

对比 soulteary/ngx-php:8php:8.1.10-apache-buster

soulteary/ngx-php:8

wrk -t16 -c 100 -d 30s http://127.0.0.1:8090     
Running 30s test @ http://127.0.0.1:8090
  16 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency    94.01ms   15.94ms 431.01ms   81.62%
    Req/Sec    64.02     11.33   148.00     74.26%
  30715 requests in 30.09s, 65.03MB read
Requests/sec:   1020.65
Transfer/sec:      2.16MB

php:8.1.10-apache-buster (opcache.enable=1)

wrk -t16 -c 100 -d 30s http://127.0.0.1:8090     
Running 30s test @ http://127.0.0.1:8090
  16 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   132.92ms  158.49ms   1.98s    86.67%
    Req/Sec    54.38     56.83   670.00     94.88%
  22603 requests in 30.08s, 49.40MB read
  Socket errors: connect 0, read 0, write 0, timeout 112
Requests/sec:    751.53
Transfer/sec:      1.64MB

相关项目

About

Microlog example based on Nginx and Nginx module (NGX-PHP8), A high-performance implementation that does not use the combination of Nginx and PHP-FPM, which is safe and reliable.

https://soulteary.com/2022/10/05/nginx-black-magic-low-cost-high-performance-applications-using-ngx-php-modules.html

License:Apache License 2.0


Languages

Language:PHP 41.4%Language:HTML 29.5%Language:Dockerfile 18.2%Language:Shell 8.5%Language:CSS 2.4%