# louislivi/SMProxy

Swoole MySQL Proxy 一个基于 MySQL 协议，Swoole 开发的MySQL数据库连接池。 A MySQL database connection pool based on MySQL protocol and Swoole.

Repository: https://github.com/louislivi/SMProxy
Canonical: https://ross.abutalabs.com/products/smproxy
Homepage: https://smproxy.louislivi.com
Language: PHP
License: MIT
License Family: permissive
Topics: swoole, mysql, php, proxy, composer, pool, connections, smproxy, swoole-mysql-proxy, mycat, coroutines, connection-pool
Last push: 2022-11-13T10:59:56+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2860, "days_push": 1389, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1760, forks 257 (observed 2026-08-28T04:05:32.554468+00:00)

## What it is
SMProxy is a lightweight MySQL database connection pool and proxy middleware built on the MySQL protocol and the Swoole coroutine engine. It stores database connections in memory, reuses idle connections across requests, and supports read/write splitting without parsing SQL payloads like heavier middleware such as Mycat.

## Use cases
- pool mysql connections for php apps under high concurrency
- add read-write splitting to mysql without changing application code
- avoid database connection exhaustion in php-fpm deployments
- replace mycat with a lightweight mysql proxy that supports batch inserts
- reuse mysql connections across requests in swoole applications
- proxy mysql traffic across multiple databases and users

## When to choose
- your php application hits mysql connection limits under high concurrency
- you need read/write splitting with a lightweight proxy that speaks the native mysql protocol
- you want connection pooling without modifying application code
- you need mysql 5.5-8.0 compatibility including transactions

## When to avoid
- you need full sql parsing, sharding, or advanced middleware features beyond pooling and read-write splitting
- your stack is not php/swoole-oriented or you need a proxy maintained in go or java
- you require active community development and frequent updates

## Facets
- artifact type: service
- maturity: maintenance
- function: database, proxy, caching, concurrency
- domain: databases, backend, developer-tools, self-hosted
- platform: php, cli, self-hosted
- tags: mysql-connection-pool, swoole, read-write-splitting, database-middleware, coroutines, linux

## Member repositories
- louislivi/SMProxy (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:32.554468+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:27:14.734864+00:00, confidence not recorded.
  - readme: https://github.com/louislivi/SMProxy (fetched 2026-08-28T04:05:32.554468+00:00, sha 3de8b0afd807)
- Data as of 2026-08-30T08:39:29.467469+00:00.
