Discussion:
[limesurvey-developers] questions about limesurvey tuning
Andrea Suisani
2014-04-08 12:34:56 UTC
Permalink
Hi all,

this is my first post to the list, I just wanna to say sorry in advance
if it's not the proper place where to ask about performances related question.

I've been assigned with a task that among other things include
the setup and tuning of limesurvey server.

This instance of limesurvey should have to deal with quite an heavy load so
I'm experimenting with lime survey tuning techniques.

So far on my test workstation I've been able to reach a peak of
20 req/s with an avg time of ~250ms. The machine is a quad core
box (i5-760) with 8 GB of RAM.

This is the pieces the define my stack:

- Limesurvey version is 2.05+ (140404)
- nginx 1.5.12 as webserver,
- php fast process manager as interpreter (communicate to nginx via unix socket)
- postgresql 9.3 as db.

I've installed APC cahing php opcode. On the DB
side I'm also using pgpoolII as server side query cache and
connections pooler.

In the limesurvey db settings I've enabled the cache
for the sql schema (schemaCachingDuration' => '3600').

I'm testing the performance using the apache ab tool, e.g. this
is the command I'm currently used that is giving me the perf of
20 req/s:

ab -n 1000 -c 5 http://192.168.1.50/997865/lang-en

I know that I'm only testing the load of the first page of the survey,
but for now it's enough.


I've a few questions for the community:

- is testing with ab a good way to measure performance?

- are the performance that I'm getting good enough / on par with your experiences?

- is there any better way to test limesurvey performance in a automated way?

- are there any other things to be done in orther to increase performances?


Thanks in advance.

Andrea
Carsten Schmitz
2014-04-08 15:42:22 UTC
Permalink
Hello Andrea,

A few hints:
-Try to use Xcache instead as opcode cache , but don't forget to
configure it properly.
-IMHO Postgres is in general slower than MySQL (using pdo_mysqli) so you
might get more if change the DB.
-To your request URL add /newtest/Y which will put some load on the database

Schema cache is already activated in LimeSurvey 2.05 and it makes really
no difference if you refresh every 5 minutes or once an hour.

Testing with ab should be fine. There is not much experience with
high-performance installations as such a huge number of participants is
rare.

Best regards from Hamburg/Germany

Carsten Schmitz

LimeSurvey Project Leader
***@limesurvey.org

http://www.limesurvey.org
Post by Andrea Suisani
Hi all,
this is my first post to the list, I just wanna to say sorry in advance
if it's not the proper place where to ask about performances related question.
I've been assigned with a task that among other things include
the setup and tuning of limesurvey server.
This instance of limesurvey should have to deal with quite an heavy load so
I'm experimenting with lime survey tuning techniques.
So far on my test workstation I've been able to reach a peak of
20 req/s with an avg time of ~250ms. The machine is a quad core
box (i5-760) with 8 GB of RAM.
- Limesurvey version is 2.05+ (140404)
- nginx 1.5.12 as webserver,
- php fast process manager as interpreter (communicate to nginx via unix socket)
- postgresql 9.3 as db.
I've installed APC cahing php opcode. On the DB
side I'm also using pgpoolII as server side query cache and
connections pooler.
In the limesurvey db settings I've enabled the cache
for the sql schema (schemaCachingDuration' => '3600').
I'm testing the performance using the apache ab tool, e.g. this
is the command I'm currently used that is giving me the perf of
ab -n 1000 -c 5 http://192.168.1.50/997865/lang-en
I know that I'm only testing the load of the first page of the survey,
but for now it's enough.
- is testing with ab a good way to measure performance?
- are the performance that I'm getting good enough / on par with your experiences?
- is there any better way to test limesurvey performance in a automated way?
- are there any other things to be done in orther to increase performances?
Thanks in advance.
Andrea
------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
limesurvey-developers mailing list
https://lists.sourceforge.net/lists/listinfo/limesurvey-developers
Andrea Suisani
2014-04-09 07:15:50 UTC
Permalink
Hi Carsten,
Post by Carsten Schmitz
Hello Andrea,
-Try to use Xcache instead as opcode cache , but don't forget to
configure it properly.
ok I'll give it a try.
Post by Carsten Schmitz
-IMHO Postgres is in general slower than MySQL (using pdo_mysqli) so you
might get more if change the DB.
ditto.
Post by Carsten Schmitz
-To your request URL add /newtest/Y which will put some load on the database
it seems you're right, I've just done a quick test and appending /newtest/Y
gives a little gain.
Post by Carsten Schmitz
Schema cache is already activated in LimeSurvey 2.05 and it makes really
no difference if you refresh every 5 minutes or once an hour.
Out of curiosity, how limesurvey deal with cache invalidation?
Post by Carsten Schmitz
Testing with ab should be fine. There is not much experience with
high-performance installations as such a huge number of participants is
rare.
Best regards from Hamburg/Germany
Carsten Schmitz
thanks for the advice

Andrea
Post by Carsten Schmitz
Post by Andrea Suisani
Hi all,
this is my first post to the list, I just wanna to say sorry in advance
if it's not the proper place where to ask about performances related question.
I've been assigned with a task that among other things include
the setup and tuning of limesurvey server.
This instance of limesurvey should have to deal with quite an heavy load so
I'm experimenting with lime survey tuning techniques.
So far on my test workstation I've been able to reach a peak of
20 req/s with an avg time of ~250ms. The machine is a quad core
box (i5-760) with 8 GB of RAM.
- Limesurvey version is 2.05+ (140404)
- nginx 1.5.12 as webserver,
- php fast process manager as interpreter (communicate to nginx via unix socket)
- postgresql 9.3 as db.
I've installed APC cahing php opcode. On the DB
side I'm also using pgpoolII as server side query cache and
connections pooler.
In the limesurvey db settings I've enabled the cache
for the sql schema (schemaCachingDuration' => '3600').
I'm testing the performance using the apache ab tool, e.g. this
is the command I'm currently used that is giving me the perf of
ab -n 1000 -c 5 http://192.168.1.50/997865/lang-en
I know that I'm only testing the load of the first page of the survey,
but for now it's enough.
- is testing with ab a good way to measure performance?
- are the performance that I'm getting good enough / on par with your experiences?
- is there any better way to test limesurvey performance in a automated way?
- are there any other things to be done in orther to increase performances?
Thanks in advance.
Carsten Schmitz
2014-04-09 07:23:13 UTC
Permalink
Hello,
Post by Andrea Suisani
Out of curiosity, how limesurvey deal with cache invalidation?
It is refreshed by code when certain actions happen, like a table was
deleted, created or modified (usually survey/token
activation/deactivation or general db schema updates).

Regards

Carsten
Andrea Suisani
2014-04-09 07:29:02 UTC
Permalink
Post by Carsten Schmitz
Hello,
Post by Andrea Suisani
Out of curiosity, how limesurvey deal with cache invalidation?
It is refreshed by code when certain actions happen, like a table was
deleted, created or modified (usually survey/token
activation/deactivation or general db schema updates).
perfect!

thanks for the explanation.

ANdrea

Loading...