DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

EXT: KB Quick FE

Author:Kasper Skårhøj
Created:2002-11-01T00:32:00
Changed:2006-07-22T04:14:54
Author:Bernhard Kraft
Email:kraftb@kraftb.at
Info 3:
Info 4:

EXT: KB Quick FE

Extension Key: kb_quickfe

Copyright 2000-2002, Bernhard Kraft, <kraftb@kraftb.at>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

EXT: KB Quick FE 1

Introduction 1

What does it do? 1

Installation 1

Notes 1

Known problems 2

Improvements 2

Sponsoring 2

Changelog 2

Introduction

What does it do?

This extension creates a "quicker" cache for FE pages which have no USER_INT or PHP_INT TS objects included and will not deliver pages which have set the &no_cache=1 flag from this "quick" page but rather let them get handled the traditional way.

So this is more or less a cache-wrapper for TYPO3 which should work with almost any setup if you respect the notes below.

Since version 0.1.0 it will also work with realURL, simulateStatic and other similar URL translators. Since this version also pages with INT (USER_INT,COA_INT,SCRIPT_INT) can get cached and rendered properly - altough the speed gain is not that much in this case.

Installation

Simple and easy to install (2 steps)

  • Install the Extension via the Extension-Manager an let it create the required directory in typo3temp.
  • If you wish use an URL translator like realURL or simulateStatic then enable the option "URL Translation Support". When you have _INT objects like COA_INT or similar on your pages and you want those pages also to get cached check the option "INT object support". WARNING: When this option get's enabled a large amount of disk- space get's used for every single cached page with _INT objects on it. The required amount is about 200-300 KB per page. So only enable this if you do not have _INT objects on all pages or do not have many pages. You can use the "saveSpace" option to reduce the required space by setting it to a value higher than 0 (but not bigger than 5). This will strip away unneeded data before saving. If your COA_INT objects do not work after increasing this value decrease it again. When setting it to 5 the objects will have about 80 KB.
  • Finally backup your index.php in your typo3-web-root and copy over the index.php from the extension-directory over your "original" TYPO3 index.php. If you checked the option "URL Translation Support" and wish to use an URL translator like realURL or similar do not copy the file "index.php" but rather copy over "index_trans.php" and rename it to "index.php"

Notes

  • You will need to be logged out of the TYPO3 backend. If you do have USER_INT (or other _INT TS cObjects) on your page it will also not get quick-cached (except if enabled).
  • To remove the BE-cookie you can either do this manually using your browsers menus or simply log into and out of the TYPO3 backend (a login-timeout is not sufficient - in such a case the be-cookie stays set). CORRECTION: It seems as loggin out is also not sufficient - so if you have been logged in before (it seems even visiting the login page is enough to get a cookie :( ) and have a "be_typo_user" cookie set for the current domain: delete it.
  • If you have pages without ANY condition you will also notice even more improvement in rendering time.
  • When you use condition constructs like "[globalVar = TSFE:bla|whatever]" in your conditionts you should note that TSFE is not available. So those condition will always result as if they were 0. You should rather use "[globalVar = GP:id=123]" because the GP vars will be available. (Some TSFE variables like TSFE->fe_user->user['uid'], TSFE->loginUser, TSFE->id are execptionally available for more compatibility)

Known problems

Does not work with realURL or simulateStatic.

Improvements

Without any PHP Accelerator you should notice an improvement that your cached pages get delivered between 5 and 20 times faster than before (at least the reaction time is higher - how fast they can get delivered depends also on the internet-connection of your server).

Here are outputs of the apache2 benchmarking tool “ab2” with and without the patch.

Without patch

A simple TV page with some Flexible content elements.

Without patch

With patch/extension installed

With patch/extension installed

Document Length: 14346 bytes

A simple TV page with some Flexible content elements.

Document Length: 14346 bytes

Concurrency Level: 10

Time taken for tests: 10.969134 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 7320159 bytes

HTML transferred: 7216038 bytes

Requests per second: 45.58 [#/sec] (mean)

Time per request: 219.383 [ms] (mean)

Time per request: 21.938 [ms]

(mean, across all concurrent requests)

Transfer rate: 651.65 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 0.3 0 4

Processing: 61 215 78.5 211 655

Waiting: 57 213 77.9 208 654

Total: 61 215 78.5 211 655

Percentage of the requests served within a certain time (ms)

50% 211

66% 237

75% 256

80% 275

90% 309

95% 351

98% 416

99% 484

100% 655 (longest request)

With patch/extension installed

Document Length: 14346 bytes

Concurrency Level: 10

Time taken for tests: 2.329082 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 7254500 bytes

HTML transferred: 7173000 bytes

Requests per second: 214.68 [#/sec] (mean)

Time per request: 46.582 [ms] (mean)

Time per request: 4.658 [ms]

(mean, across all concurrent requests)

Transfer rate: 3041.54 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 2 6.1 0 31

Processing: 3 43 87.9 5 499

Waiting: 0 42 87.2 3 498

Total: 3 45 88.3 5 499

Percentage of the requests served within a certain time (ms)

50% 5

66% 35

75% 36

80% 49

90% 174

95% 266

98% 377

99% 422

100% 499 (longest request)

Speed = 100%

A simple TV page with some Flexible content elements.

Speed = 100%

With patch/extension installed

Speed = 470%

Without patch

A simple TV page with some Flexible content elements.

Without patch

With patch/extension installed

With patch/extension installed

Document Length: 10206 bytes

A simple TV page with some Flexible content elements.

Document Length: 10206 bytes

Concurrency Level: 10

Time taken for tests: 10.372374 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 5206500 bytes

HTML transferred: 5103000 bytes

Requests per second: 48.20 [#/sec] (mean)

Time per request: 207.447 [ms] (mean)

Time per request: 20.745 [ms]

(mean, across all concurrent requests)

Transfer rate: 490.15 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 0.0 0 0

Processing: 60 202 69.7 200 464

Waiting: 59 199 67.9 196 381

Total: 60 202 69.7 200 464

Percentage of the requests served within a certain time (ms)

50% 200

66% 230

75% 251

80% 261

90% 299

95% 323

98% 344

99% 372

100% 464 (longest request)

With patch/extension installed

Document Length: 10206 bytes

Concurrency Level: 10

Time taken for tests: 1.974188 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 5194869 bytes

HTML transferred: 5113206 bytes

Requests per second: 253.27 [#/sec] (mean)

Time per request: 39.484 [ms] (mean)

Time per request: 3.948 [ms]

(mean, across all concurrent requests)

Transfer rate: 2569.66 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 0.0 0 0

Processing: 3 38 58.2 31 510

Waiting: 2 37 57.9 31 509

Total: 3 38 58.2 31 510

Percentage of the requests served within a certain time (ms)

50% 31

66% 37

75% 42

80% 48

90% 75

95% 100

98% 308

99% 366

100% 510 (longest request)

Speed = 100%

A simple TV page with some Flexible content elements.

Speed = 100%

With patch/extension installed

Speed = 525%

Without patch

A simple TV page with some Flexible content elements.

Without patch

With patch/extension installed

With patch/extension installed

Document Length: 9219 bytes

A simple TV page with some Flexible content elements.

Document Length: 9219 bytes

Concurrency Level: 10

Time taken for tests: 28.560627 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 4713000 bytes

HTML transferred: 4609500 bytes

Requests per second: 17.51 [#/sec] (mean)

Time per request: 571.213 [ms] (mean)

Time per request: 57.121 [ms]

(mean, across all concurrent requests)

Transfer rate: 161.13 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 0.0 0 1

Processing: 44 557 370.7 445 2400

Waiting: 38 516 304.6 434 2172

Total: 44 557 370.7 445 2400

Percentage of the requests served within a certain time (ms)

50% 445

66% 517

75% 560

80% 637

90% 1111

95% 1265

98% 1910

99% 2141

100% 2400 (longest request)

With patch/extension installed

Document Length: 9219 bytes

Concurrency Level: 10

Time taken for tests: 18.71439 seconds

Complete requests: 500

Failed requests: 0

Write errors: 0

Total transferred: 4691000 bytes

HTML transferred: 4609500 bytes

Requests per second: 27.67 [#/sec] (mean)

Time per request: 361.429 [ms] (mean)

Time per request: 36.143 [ms]

(mean, across all concurrent requests)

Transfer rate: 253.49 [Kbytes/sec] received

Connection Times (ms)

min mean[+/-sd] median max

Connect: 0 0 0.0 0 0

Processing: 32 288 358.3 198 2885

Waiting: 24 231 219.1 186 1865

Total: 32 288 358.3 198 2885

Percentage of the requests served within a certain time (ms)

50% 198

66% 335

75% 337

80% 340

90% 525

95% 860

98% 1615

99% 2312

100% 2885 (longest request)

Speed = 100%

A simple TV page with some Flexible content elements.

Speed = 100%

With patch/extension installed

Speed = 158%

Sponsoring

Money is rare in todays world – so if your company is happy to have enough of it and you find this (my) extensions useful feel free to transfer an amount which suits your taste to “ kraftb@kraftb.at ” via PayPal. Thanks for your support.

If you are a one-man freelancer show like me and have to keep track of finance yourself please do not send me your last bit of money ! I would feel bad accepting money from someone who pherhaps has even less than me. So this call is only directed to companies who are suited well enough. You can also add the sponsored money to your expenses for taxes cause I will properly pay income-taxes for the received money. So it would again be no clever idea to sponsor money for which you already paid those taxes.

Companies which have sponsored money can get listed on my website including or excluding the amount of sponsored money completely as they like. You can also contact the above email addres if you require a bill.

Changelog

Version :

Version

Version :

Date

Date :

Changelog

Changelog :

0.0.0

Version

0.0.0

Date

2006-06-25, 00:45 CET

Changelog

Initial release

0.0.1

Version

0.0.1

Date

2006-06-24, 01:45 CET

Changelog

Should also work under windows now.

0.1.0

Version

0.1.0

Date

2006-07-22, 04:15 CET

Changelog

Added URL translation support (realURL, etc). Added support for _INT objects.

If you find any bug please report them to kraftb@kraftb.at

img-1 EXT: KB Quick FE - 4