From: Blake B. <Bla...@De...> - 2001-08-03 19:40:15
|
An alternative free caching engine which compares with Zend is APC http://apc.communityconnect.com/ When Rasmus was last here he recommended it.. so I assume it's quite good. :) * Blake -----Original Message----- From: Andreas Aderhold [mailto:a.a...@th...] Sent: Friday, August 03, 2001 3:37 AM To: bin...@li... Subject: [binarycloud-dev] Zend Cache and binarycloud = more power Hi, I just benched binarycloud with/without ZendCache in comparison with other scripts. And the results are surprising. Actually with Zend Cache enabled I gain huge performance boosts for sites without database access. Read on. --------------------------------------------------------------------------- Setup --------------------------------------------------------------------------- I ran the benchmarks on my devel box at home (crappy old box, with lots of stuff running (sshd, samba......)): * Intel Pentium 100 * 128MB PC100 RAM * 15GIG IBM HDD (IDE) * Linux Mandrake 8 (Kernel 2.4.3) * Apache 1.3.19 * MySQL 3.23.36 * PHP4.0.4pl1 (Zend Launch Pad Edition) * ZendOptimizer 1.1.0 * ZendCache 1.1.0 PHP compile options (launchpad - out of the box) ./configure --prefix=/Zend --with-apxs=/usr/local/apache/bin/apxs --disable-debug --with-config-file-path=/usr/local/Zend/etc --without-db2 --disable-sysvsem --disable-sysvshm --enable-xml --enable-wddx --with-mysql --with-gd=shared,/usr/local/gd --enable-gd-imgstrttf --with-jpeg-dir=/usr/local/jpeg --with-ttf=/usr/local/freetype --with-t1lib=/usr/local/t1lib --with-pgsql=shared,/usr/local/postgres --with-imap=shared,/usr/local/imap --with-ldap=shared,/usr/local/openldap --with-ibm-db2=shared,/usr/local/db2' --with-oci8=shared,/usr/local/oracle Zend Cache: - validate timestamps is enabled (so chache checks everytime if script changed, will perform even better if this is disabled in production) - reserved cache memory: 32Megs --------------------------------------------------------------------------- Benched scripts --------------------------------------------------------------------------- [1] Thyrell homepage www.thyrell.de/home/index.php A very simple script with sessions (language-detect) and smarty as template engine (smarty cache disabled). It is just one template with basic replacing work to do for the tpl engine (no section loops etc). No Database access. [2] Database script (huge) Manage script for category administation (unlimited depth for cats). Script is currently not r2 based [but r2 friendly and after the entitity/database stuff is out, it will be ported:)]. MySQL Database, about 20 entries for categories with a depth of 4. This script is part of a more complex community application administrtion I'm currently working on. So much things are not optimized and It's overloaded with includes that will be removed/optimized. Escpecially the layout for the admin interface is very grapic intensive. So currently the loading time is very long. Basically: - Request class, session class of r2 - Metabase - Smarty - PEAR for error handling (exceptions and formwarnings) - The "manager" responsible for db-access uses recrusion to look up the categories (in this example depth = 4). It also currently executes 2 queries per query (COUNT(*))(Few template chunks with descent template logic (looping over arrays). - Advanced browser scripting (mostly IE5 behaviours). [3] binarycloud: index.php The current (2001-03-08, 10am GMT) cvs r2/binarycloud/build/en/index.php. No changes. --------------------------------------------------------------------------- The results --------------------------------------------------------------------------- I ran the benches doubletwice and the results differ slightly. [1] Thyrell homepage ------------------------- With cache Starting benchmark for http://dev.thyrell.corp/home/index.php (5 tries)... Try 1: 6.68 req/s Try 2: 6.90 req/s Try 3: 6.82 req/s Try 4: 6.79 req/s Try 5: 6.77 req/s 6.792 requests/second from 5 tries Without cache Starting benchmark for http://dev.thyrell.corp/home/index.php (5 tries)... Try 1: 0.98 req/s Try 2: 0.60 req/s Try 3: 0.94 req/s Try 4: 0.86 req/s Try 5: 0.60 req/s 0.796 requests/second from 5 tries -> Speedup: 753.27% [2] Database script (huge) ------------------------------- With cache Starting benchmark for http://pubtour.thyrell.corp/manage/common/categories/index.php (5 tries)... Try 1: 0.48 req/s Try 2: 0.87 req/s Try 3: 0.36 req/s Try 4: 0.28 req/s Try 5: 0.28 req/s 0.454 requests/second from 5 tries Without cache Starting benchmark for http://pubtour.thyrell.corp/manage/common/categories/index.php (5 tries)... Try 1: 0.29 req/s Try 2: 0.28 req/s Try 3: 0.27 req/s Try 4: 0.27 req/s Try 5: 0.27 req/s 0.276 requests/second from 5 tries -> Speedup: 64.49% [3] binarycloud ------------------ With cache Starting benchmark for http://bc.thyrell.corp/index.php (5 tries)... Try 1: 5.54 req/s Try 2: 4.58 req/s Try 3: 4.55 req/s Try 4: 4.54 req/s Try 5: 4.12 req/s 4.666 requests/second from 5 tries Without cache Starting benchmark for http://bc.thyrell.corp/index.php (5 tries)... Try 1: 1.21 req/s Try 2: 2.10 req/s Try 3: 1.98 req/s Try 4: 1.04 req/s Try 5: 1.04 req/s 1.474 requests/second from 5 tries -> Speedup: 216.55% Resumee: --------------------------------------------------------------------------- IMHO, the ZendCache is VERY groovy :-) But it's also a expensive pice of software. So for performance critical and larger business applications it is a must, I think. The performance boosts for non-database sites is great. And with the binarycloud cache the pages will become real speed monsters, I guess :-) More detailed information is published in Zend and Techmetrix whitepapers. You can download them from Zend.com or with some screenshots of the above tested sites from: http://www.thyrell.de/info/downloads/cache_bench.zip. Especially the behviour of database accesss with zend cache is interesting. According to the paper is error free with cache (with their setup), but there are errors without. Andi _______________________________________________ binarycloud-dev mailing list bin...@li... http://lists.sourceforge.net/lists/listinfo/binarycloud-dev |