May. 24., 2011

Sample data to test performance of TYPO3 Extbase (Update)

By Steffen Müller. Licensed under the Creative Commons License

At the time of writing this article, there's a lively discussion going on in the TYPO3 developer mailinglist about performance and architecture of TYPO3 Extbase Extension. This article tries to contribute something practical to the discussion by providing sample data for testing performance with the blog_example extension.

Performance and architecture of TYPO3 Extbase is discussed very controversy. Some love it, some hate it ("It does not scale", "not useable for large setups"). Some also complain about wrong communication ("Extbase is marked as stable, but is alpha") and others ask for less complains and more contributions ("Go scratch your itch and contribute!"). If you need an example have a look at "The extbase dilemma" thread in the TYPO3-dev Mailinglist.

The real dilemma I see

What irritates me is that we have  more than 120 postings in this dicsussion and noone has yet provided reproduceable tests, data or measurements results to tackle the mentioned problems.

Solution

For doing comparable tests, we need sample data. blog_example is the reference implementation for Extbase/Fluid, so I think we should use it for tests.

I provide the sample blog_example data as SQL file. (Download bzip compressed SQL file from sourceforge mirror, 35MB)

The data be used by anyone who wants to test Extbase issues using the blog_example extension. The sample data contains: 

  • 1 administrator
  • 100 blogs
  • 100 authors (1 for each blog)
  • 10.000 posts (100 for each blog)
  • 1.000.000 comments (100 for each post)
  • 147 tags (between 1 and 5 for each post)

The data itself (post content, tags, names etc.) is randomly generated with using shuffled lorem ispum blindtexts of various length.

The amount of data can't be handled with t3d-import/export. So I provide raw sql data which has been exported via mysqldump. Some hints to make it work:

  • The sql file contains only the blog_example tables. Pages, Plugin and fe_user have to be set up manually.
  • The storagePid used when creating the data was "3". So you need to have a page with uid=3 and set plugin.tx_blogexample.persistence.storagePid = 3.
  • The corresponding admin record (fe_user) has uid 4 and is of record type "Blog Admin" (fe_users.tx_extbase_type = Tx_BlogExample_Domain_Model_Administrator) 

I also provide a complete TYPO3 DB dump (Download bzip2 compressed SQL file from sourceforge mirror, 35MB).

It contains all TYPO3 tables, including the records for pages and fe_users. The dump is build from a TYPO3 4.5 dummy installation. The username/password of the admin be_user is admin/password

What's next?

Now it's up to anyone to set up testing environments, create test scenarios, provide and compare results. Then we have a basis to tackle the problems and push the TYPO3 project further. Happy testing!

Update

I have updated the sampla data to fix some validation issues they produce in Extbase. Using the data should work now without throwing validation errors.

--> Back to the list of articles

License

Licensed under creative commonsThis article is licensed under the Creative Commons License CC BY-SA 3.0. You are free to share (copy, distribute and transmit) and to remix (to adapt) the work under the following conditions:

  • You must attribute the work by mentioning the name of the author (Steffen Müller) and setting a link back to the original article using its URL.
  • If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.

Comments

  1. Andreas Wolf wrote on September 22, 2011 at 11:35

    Hi Steffen,

    a great test set, thanks for your efforts! However, I would like to get a similar test set for regular pages/content. Would you mind sharing the code you used for generating this test data?

    Cheers
    Andreas

  2. Steffen wrote on September 22, 2011 at 18:33

    I simply used the BlogFactory code from blog_example and put some while loops around it :)

    http://forge.typo3.org/projects/typo3-mvcblogexample/repository/revisions/master/entry/Classes/Domain/Service/BlogFactory.php


Leave a comment:

This page uses static caches. Make sure you reload the page in your browser after posting a comment.

(will not be published)

CAPTCHA image for SPAM prevention Click here for audio version of the word to enter.

If you can't read the captcha word, please click to load a new image.
(You need Javascript turned on. Otherwise press the submit button and wait until the page has reloaded.)