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.
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
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!
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.