Thread: [JDBC] Driver performance improvements - kudos to the maintainers and thecontributors
[JDBC] Driver performance improvements - kudos to the maintainers and thecontributors
From
zloster
Date:
Hi all, I don't know if you are familiar with the TechEmpower Framework Benchmarks project. I'm keeping an eye on it. If you dig into the numbers and understand the test intentions and limitations it gets quite interesting. The occasion to write this is very recent comment from a TechEmpower team guy: > bhauer commented: > Yes! The database tests are intended to be a brutal exercise of the > database drivers and ORM (where applicable). You're > right that it stands to reason that tuning in the driver will show up > as a significant gain in these tests, assuming > that in so doing you don't reach a different bottleneck in the > framework itself. Nevertheless, the delta in this > particular test was a big surprise. The Postgres JDBC driver folks > deserve a lot of credit for tuning the drivers up so well! Source: https://github.com/TechEmpower/FrameworkBenchmarks/pull/2626#issuecomment-293968949 Disclaimer: the results are preliminary, but seems inline with several other frameworks that are using Java/PostgreSQL/PgJDBC. The reason is simple update of the JDBC driver from 9.4.1200 to 9.4.1208. "Gemini" is their own web framework implementation based on Java. The environment hardware is: Dell R910 (4x 10-Core E7-4850 CPUs) application server; Dell R710 (2x 4-Core E5520 CPUs) for the database server and the load-generator; switched 10-gigabit Ethernet. The delta that he mentions is: gemini-postgres db 65,971 173,689 +163.3% gemini-postgres query 2,762 7,799 +182.3% gemini-postgres update 993 1,932 +94.5% gemini-postgres fortune 76,826 179,447 +133.6% All numbers are HTTP requests per second. The "db test" is using simple "SELECT id, value FROM world WHERE id = ?" and "id" is randomly chosen. The table is 10000 rows. The "query test" is using the same setup but each HTTP request will issue 20 SQL queries as above. The "update test" is using the same setup but each HTTP request will issue 20 read SQL queries and 20 update queries. The "fortune test" is different. It reads all rows from a table with 12 rows. The columns are two: numerical id and string. The current preview data is here: https://www.techempower.com/benchmarks/previews/round14/r14p2-vs-r14p3.html#gemini-postgres.db Maybe [pgsql-advocacy] mailing list will be also interested? Once again congratulations for your great work. -- Best regards, zloster
Re: [JDBC] Driver performance improvements - kudos to the maintainersand the contributors
From
Dave Cramer
Date:
Thanks for this!
On 13 April 2017 at 15:54, zloster <more@edno.moe> wrote:
Hi all,
I don't know if you are familiar with the TechEmpower Framework Benchmarks project. I'm keeping an eye on it. If you dig into the numbers and understand the test intentions and limitations it gets quite interesting.
The occasion to write this is very recent comment from a TechEmpower team guy:bhauer commented:
Yes! The database tests are intended to be a brutal exercise of the database drivers and ORM (where applicable). You're
right that it stands to reason that tuning in the driver will show up as a significant gain in these tests, assuming
that in so doing you don't reach a different bottleneck in the framework itself. Nevertheless, the delta in this
particular test was a big surprise. The Postgres JDBC driver folks deserve a lot of credit for tuning the drivers up so well!
Source: https://github.com/TechEmpower/FrameworkBenchmarks/pull/ 2626#issuecomment-293968949
Disclaimer: the results are preliminary, but seems inline with several other frameworks that are using Java/PostgreSQL/PgJDBC.
The reason is simple update of the JDBC driver from 9.4.1200 to 9.4.1208. "Gemini" is their own web framework implementation based on Java.
The environment hardware is: Dell R910 (4x 10-Core E7-4850 CPUs) application server; Dell R710 (2x 4-Core E5520 CPUs) for the database server and the load-generator; switched 10-gigabit Ethernet.
The delta that he mentions is:
gemini-postgres db 65,971 173,689 +163.3%
gemini-postgres query 2,762 7,799 +182.3%
gemini-postgres update 993 1,932 +94.5%
gemini-postgres fortune 76,826 179,447 +133.6%
All numbers are HTTP requests per second.
The "db test" is using simple "SELECT id, value FROM world WHERE id = ?" and "id" is randomly chosen. The table is 10000 rows.
The "query test" is using the same setup but each HTTP request will issue 20 SQL queries as above.
The "update test" is using the same setup but each HTTP request will issue 20 read SQL queries and 20 update queries.
The "fortune test" is different. It reads all rows from a table with 12 rows. The columns are two: numerical id and string.
The current preview data is here: https://www.techempower.com/benchmarks/previews/round14/r14p 2-vs-r14p3.html#gemini-postgre s.db
Maybe [pgsql-advocacy] mailing list will be also interested?
Once again congratulations for your great work.
--
Best regards,
zloster
--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc
Re: Driver performance improvements - kudos to the maintainersand the contributors
From
Dave Cramer
Date:
Thanks for this!
On 13 April 2017 at 15:54, zloster <more@edno.moe> wrote:
Hi all,
I don't know if you are familiar with the TechEmpower Framework Benchmarks project. I'm keeping an eye on it. If you dig into the numbers and understand the test intentions and limitations it gets quite interesting.
The occasion to write this is very recent comment from a TechEmpower team guy:bhauer commented:
Yes! The database tests are intended to be a brutal exercise of the database drivers and ORM (where applicable). You're
right that it stands to reason that tuning in the driver will show up as a significant gain in these tests, assuming
that in so doing you don't reach a different bottleneck in the framework itself. Nevertheless, the delta in this
particular test was a big surprise. The Postgres JDBC driver folks deserve a lot of credit for tuning the drivers up so well!
Source: https://github.com/TechEmpower/FrameworkBenchmarks/pull/ 2626#issuecomment-293968949
Disclaimer: the results are preliminary, but seems inline with several other frameworks that are using Java/PostgreSQL/PgJDBC.
The reason is simple update of the JDBC driver from 9.4.1200 to 9.4.1208. "Gemini" is their own web framework implementation based on Java.
The environment hardware is: Dell R910 (4x 10-Core E7-4850 CPUs) application server; Dell R710 (2x 4-Core E5520 CPUs) for the database server and the load-generator; switched 10-gigabit Ethernet.
The delta that he mentions is:
gemini-postgres db 65,971 173,689 +163.3%
gemini-postgres query 2,762 7,799 +182.3%
gemini-postgres update 993 1,932 +94.5%
gemini-postgres fortune 76,826 179,447 +133.6%
All numbers are HTTP requests per second.
The "db test" is using simple "SELECT id, value FROM world WHERE id = ?" and "id" is randomly chosen. The table is 10000 rows.
The "query test" is using the same setup but each HTTP request will issue 20 SQL queries as above.
The "update test" is using the same setup but each HTTP request will issue 20 read SQL queries and 20 update queries.
The "fortune test" is different. It reads all rows from a table with 12 rows. The columns are two: numerical id and string.
The current preview data is here: https://www.techempower.com/benchmarks/previews/round14/r14p 2-vs-r14p3.html#gemini-postgre s.db
Maybe [pgsql-advocacy] mailing list will be also interested?
Once again congratulations for your great work.
--
Best regards,
zloster
--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc