Keen on performance
Battle-tested doesn't even begin to cover it — it is war-tested. Performance is the priority and the numbers have it.
ProxySQL has an advanced multi-core architecture. It's built from the ground up to support hundreds of thousands of concurrent connections, multiplexed to potentially hundreds of backend servers. The largest ProxySQL deployment spans several hundred proxies.
The development team doesn't need to rewrite queries generated by ORMs or software that can’t be easily modified. Meet ProxySQL's query rewriting feature, that empowers you to use the resources of your MySQL cluster as efficiently as possible.
Using its advanced rule engine, ProxySQL can easily support sharding by host, schema or a combination between the two. This requires minimal modifications to SQL queries, and to the application logic.
Efficient workload management
ProxySQL helps you squeeze the last drop of performance out of your MySQL cluster, without controlling the applications that generate the queries.
Forget applications that generate load by inefficiently accessing the same results over and over again. ProxySQL quickly jumps in with its advanced rule engine. Results can also be cached for a configurable timespan, in native MySQL packets format.
Take an advanced case, where different classes of queries need to be routed to different MySQL clusters, with different configurations. Solve it with ProxySQL's hostgroup concept. Based on an advanced matching engine, it is able to route queries transparently towards the destination cluster that can execute them most efficiently.
While ProxySQL does not offer support failover as a feature, it collaborates smoothly with the existing tools that enable it. It monitors the health of the backends it communicates with and is able to temporarily shun them based on configurable error rates.
Advanced configuration with 0 downtime
ProxySQL’s configuration system is inspired from routers. You can dynamically configure everything, persist the configuration and modify it. All with 0 downtime.
Application layer proxy
ProxySQL does not forward traffic blindly. It understands the MySQL protocol and acts accordingly. That's why it can easily serve advanced use-cases such as sticky transactions or real-time, in-depth statistics generation about the workload.
ProxySQL works out of the box on multiple flavors of Linux and FreeBSD. Moreover, it should be easily portable to other platforms where a gcc-compatible toolchain is available.
Advanced topology support
Cascading proxies for extra availability and flexibility. Complex MySQL topologies support, involving replication and failover or query mirroring. All of it performed effortlessly by ProxySQL.
In case of offending queries that cause problems to the DB (SQL injection or inefficient retrieval of information via SELECT * without WHERE, for example), ProxySQL acts as a gatekeeper between the application and the DB, allowing DBAs to react quickly.
ProxySQL: by DBAs for DBAs
Take back control of your MySQL cluster today. Scale and operate it smoothly. Unlock an unprecedented level of flexibility and performance. All the while getting the unlimited freedom that comes with a GPL license.
Latest Blog Posts
Compiling ProxySQL 2.0.0
ProxySQL 2.0 is nearing (GA) and a lot of folks in the MySQL world are eager to check out many of the new features such as GTID consistent reads, frontend SSL…
SSL Encryption at ProxySQL Part 1
As we all know, MySQL supports using SSL to secure connections by encrypting the data in transit and protecting it from snooping on the wire. As of now, since…
Releasing ProxySQL 1.4.8
Proudly announcing the release of the latest stable release of ProxySQL 1.4.8 as of the 11th April 2018. ProxySQL is a high performance, high availability,…
ClickHouse and ProxySQL queries rewrite
ClickHouse and MySQL do not have the same SQL syntax and functions ProxySQL is a popular open source, high performance and protocol-aware proxy server for…
GTID consistent reads
Adaptive query routing based on GTID tracking ProxySQL is a layer 7 database proxy that understands the MySQL Protocol. It provides high availability and high…