Download the PHP package ezsystems/profiler-bundle without Composer

On this page you can find all versions of the php package ezsystems/profiler-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package profiler-bundle

Profiler Bundle

Bundle to profile eZ Platform installations and setup scenarios to be able to continuously test to keep track of performance regressions of repository and underlying storage engines(s)

This bundle contains two means of profiling your eZ Publish stack.

API Profiler

Warning

Running the performance tests / profiling will chnage the contents of your
database. Use with care.

Usage

Install the bundle inside of an existing ez-platform installation::

composer.phar require ezsystems/profiler-bundle dev-master

Enable Bundle in kernel by adding:

Then you can run the performance tests using::

php app/console profiler:run papi vendor/ezsystems/profiler-bundle/docs/profile_example.php

The provided file specifies the performance test you want to run. The file mentioned here is an example file provided with the bundle. You can run the tests either against the Public API (papi) or directly against the SPI (spi).

Configuration

To model different scenarios then the on provided in the example file is a little more complex.

Types

First we define multiple content types. The content type definitions are simpler then in the APIs to test, but are mapped accordingly::

First we define the name of the type and then its fields. Each field should have a data provider assigned, which provides random test data.

Optionally we can define multiple languages in which content will be created. Also optionally an average number of versions can be defined to "age" content. You can define as many types as sensible.

Actors

Actors actually do something with the defined types. There are currently three different actors, but you could define more:

Execution

Finally we want to execute our configured scenario consisting of types and actors. For this an executor is used::

The executor will be provided with an array of Constraint objects each associated with a task. In this case Constraint\Ratio objects are used, which will only execute a task according to the given probability.

The Aborter defines when the execution will be halted. It could also check for the amount of create content objects or just abort after a given time span. The Count aborter just aborts after the given number of iterations.

You might, like done in the example, define multiple executors which then will be executed subsequently.

jMeter Tests

Usage

The jMeter test can be run by just executing ant in the root directory. In the first run jMeter will be downloaded. In subsequent runs the already downloaded files will be used. Ant 1.8 is required to run the example.

The test hits the configured host and will create files providing you with statistics about the run:

Configuration

You can configure the run by creating a file jmeter.properties.local to overwrite the variables in the jmeter.properties file. You definitely want to adapt the jmeter.server in there to point to the website you want to put under test. All options are documented in the jmeter.properties file.

The implemented "Random Browser" only executes GET requests accessing random links starting at the configured start page. It will not log in or submit any forms (searches).

There are two options defining the behaviour of the random surfer:

Another important configuration is the jmeter.users value. It defines how many users will access / surf the website in parallel. The default of 5 means that 5 users will simultaneously surf on the website. With the configured timings that means something between 1 Req/s and 2 Req/s.


All versions of profiler-bundle with dependencies

PHP Build Version
Package Version
Requires php Version ~5.4 || ~7.0
ezsystems/ezpublish-kernel Version ~5.3.5@dev || ~5.4.2@dev || ^6.0@dev
fzaninotto/faker Version ~1.4
jdorn/sql-formatter Version ~1.2
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ezsystems/profiler-bundle contains the following files

Loading the files please wait ....