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

Posts in category ‘Benchmarks’.

Asp.Mono in Linux? Not Yet...

07/08/08, by artyom ; Posted in: Progress, Benchmarks; 0 comments

During development of CppCMS I have always wanted to do some benchmarks against one of the most popular web development technologies: Asp.Net. I had found a blogging system: BlogEngine.Net that in its latest version had full support of mono under Linux, support of MySQL — all I need to run benchmarks against CppCMS.

The beginning was promising. The instructions were simple, there was an actual blog running BE.Net under Apache mod_mono on Ubuntu. There were Linux specific instructions as well.

So, first of all I had installed mono 1.9.1 from Etch backports. The first problem I had to deal with was an installation problem — the version of C# compiler and mono environment were different. This was solved quite simply. So, I could finally see BE.Net running under Mono using XML as data storage backend.

Then, I wanted to add MySQL storage backend. The problems had come very soon. The MySQL database script was written under assumption that table names are case insensitive. That was not true for MySQL under Linux. This problem was fixed.

more...

CppCMS vs WordPress

09/06/08, by artyom ; Posted in: Benchmarks, Framework, Cache; 4 comments

Setup

I had compared two blog systems: this one and WordPress 2.5 with a patched WP-Cache-2 addon. I used following configuration:

  1. Web Server lighttpd 1.4.13
  2. Interface FastCGI
  3. PHP 5.2
  4. Bytecode cacher: XCache 1.2.1
  5. Database MySQL 5.0
  6. Caching for WP: WP-Cache-2 with an additional performance patch
  7. Hardware: AMD Athlon XP 64bit, 1G RAM
  8. OS: Linux, Debian Etch 64bit.

I prepared two blogs that were filled up with 1000 articles each. Each article had 10 comments, all the articles were organized in 10 categories in each blog.

more...

Patch For WP-Cache-2 plugin

06/06/08, by artyom ; Posted in: Benchmarks, Cache; 0 comments

I'm going to run a heavy benchmarks comparing WordPress – the blog system I know very well, with CppCMS based blog – the system I had written.

The new caching system that was developed for CppCMS is quite smart, it stores the entry pages twice: original and gzip compressed. On heavy loads, this allows serving pages significantly faster because only thing that should be done is to push html or compressed html page directly from the cache. Otherwise, gzip compression (even fastest) would take lots of resources and reduces a preformace of the system.

When it comes to benchmarks, I had discovered that WP-Cache-2 plugin does the job well, but it caches only html version of the file, thus, even if the page is cached it still must pass a compression by Apache’s mod_deflate or by PHP engine itself.

I had patched this plugin and now it stores two versions of same page: an original and compressed. and was able to get 60% performace improvement.

So after this patch I can feel that the benchmarks would be proper, because without it this would be incorrect to compare time required for fetching a cache with the time required for compressing entry page.

Links:

N.B.: The full benchmarks coming soon

New Templates System

23/03/08, by artyom ; Posted in: Progress, Benchmarks, Templates; 7 comments

New templates system was introduces to the CppCMS framework. It is based on ideas of dynamic typed languages inside static typed C++.

The original template system had several problems:

  1. The each template variable was referenced by and integer key that was generated during compilation of templates.
  2. The rendering process required from the developer some kind of activity – update content values according to requests from rendering engine.
  3. The values of the entries where limited to string, integer and boolean values.

In any case, the design of the first template system was just unacceptable, thus new template system was build.

It introduced following features:

Additional features I'm still working on them are:

more...

SOCI or DBI, stage 2

10/03/08, by artyom ; Posted in: Storage, Benchmarks; 2 comments

Discussing soci performance with its developers I had found that soci is compiled without any optimizations by default.

So, after recompiling soci with -O2 option I've got much better results. Simple comparison of dbixx and soci had given very close result. I had run my tests once more and got following results – pages per second (no gzip):

DB        soci dbixx
--------------------
MySQL      710   800
Sqlite3    550   410
PgSQL      385   430

We can clearly see that for MySQL and PostgreSQL dbixx is still faster in about 10% however in case of Sqlite3 dbixx is significantly slower (25%).

So it seems to me that both solutions are quite reasonable to use without clear advantage of one over another.

Pages

Categories

Development

Powered By

3rd Party