Home  /  RSS  /  RSS Comments  /  RSS for Benchmarks  /  Project Site  /  Enter

Posts in category ‘Benchmarks’.

SOCI or DBI

08/03/08, by artyom ; Posted in: Storage, Benchmarks, Berkeley DB; 6 comments

One of the problematic issues in writing cross-SQL code is an API that differs from one SQL to another.

There are two open source libraries that provide unified API

  1. soci – C++ library.
  2. dbi – C library.

At the first point I had chosen soci as native solution of C++ programmer. After running some benchmarks on the new version of this blog I had found 20% performance reduction for MySQL database. But I also remembered that there should be negligible difference between MySQL and Berkeley DB. This was mostly due to incorrect design of my BDB database layout I had done.

That had seem to be strange and I stared benchmarking the system more and more.

more...

The Cost of SQL - First Measurements

27/02/08, by artyom ; Posted in: Storage, Benchmarks, Berkeley DB; 0 comments

There are the preliminary benchmarks comparing different DB backends. I've measured pages per second ratio for fetching different pages from the blog that includes 5,000 articles and 50,000 comments to them. The client and the server had run on the same PC.

The settings and the database is the same that is used in this article.

Backend         gzip no-gzip   gzip   no-gzip %
------------------------------------------------
Berkeley DB     565  830       N/A    N/A
MySQL InnoDB    475  645       -16%   -22%
Sqlite3         410  515       -27%   -38%
PostgreSQL      305  360       -46%   -57%

We can see:

  1. There is not negligible cost of using SQL Data Bases. However the price is not too high with fast data bases like MySQL.
  2. PostgreSQL had badly surprised me with its real performance. Maybe I'm doing something wrong?

BDB or not BDB - that is the question...

04/02/08, by artyom ; Posted in: Storage, Benchmarks, Berkeley DB; 12 comments

At the beginning of the project I had several options for president storage for CppCMS:

  1. Use standard SQL databases like MySQL, PostgreSQL.
  2. Use embedded SQL data base like Sqlite3
  3. Use Berkeley DB
  4. Implement my own storage model.

At the beginning I wanted to use MySQL. At certain point I decided to switch to Berkeley DB, and now I come back to the original question: "what data storage to use?"

In order to make a proper design I had run lots of micro benchmarks and finally I had chosen Berkeley DB. However I never used queries from real DB. And now, when I had implemented a simple blog I decided to run benchmarks on the situation that is closer to real one.

I had reimplemented an operation of fetching single post using MySQL and imported the database that included 5000 articles with 10 comments each one and tested.

more...

Benchmarks, First Results

27/12/07, by artyom ; Posted in: Benchmarks, FastCGI, Framework; 0 comments

Updated 28/12/07, 17:00

In order to show that all the time I had spend on this system wasn’t wasted I had run a simple benchmark tests on following setup:

Server

Network devices

Client

more...

Pages

Categories

Development

Powered By

3rd Party