Skip to Content.
Sympa Menu

devel - Re: [sympa-dev] Performance problem

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: Petr Prazak <address@concealed>
  • To: Olivier Salaun <address@concealed>
  • Cc: address@concealed
  • Subject: Re: [sympa-dev] Performance problem
  • Date: Fri, 4 May 2001 15:59:26 +0200


4.5.2001, Olivier Salaun wrote on subject `[sympa-dev] Performance problem':

> You probably need to customize your MySQL configuration.
> With MySQL standard distribution you will find sample config files
> for small to huge databases. Check in /usr/share/mysql (on RH Linux).
> Basically you can customize buffer, stack and cache size.

I have taken the my-large.cnf, will see if it helps.
I'm no db admin :), thanks for pointer.

> What is your hardware profile ? (CPU, Mem, Disk controller)

Pentium III, 550MHz, 512 MB memory, two Seagate ST39236LW (10GB) in RAID 1

> You should first check mysql log file to find out what SQL queries
> are performed by Sympa. Then try running them using mysql client
> to find out which ones are critical.

It queries the database for a user;

mysql> EXPLAIN SELECT lower(email_user) AS email, gecos_user AS gecos,
password_user AS password, cookie_delay_user AS cookie_delay,
lang_user AS lang FROM user_table WHERE lower(email_user) =
'address@concealed';

+------------+------+---------------+------+---------+------+--------+------------+
| table | type | possible_keys | key | key_len | ref | rows | Extra
|
+------------+------+---------------+------+---------+------+--------+------------+
| user_table | ALL | NULL | NULL | NULL | NULL | 325143 | where
used |
+------------+------+---------------+------+---------+------+--------+------------+
1 row in set (0.01 sec)

This query took 4 seconds.

I tried to remove the lower() from where clause:

mysql> EXPLAIN SELECT lower(email_user) AS email, gecos_user AS gecos,
password_user AS password, cookie_delay_user AS cookie_delay,
lang_user AS lang FROM user_table WHERE email_user =
lower('address@concealed');
+------------+-------+---------------+---------+---------+-------+------+-------+
| table | type | possible_keys | key | key_len | ref | rows |
Extra |
+------------+-------+---------------+---------+---------+-------+------+-------+
| user_table | const | PRIMARY | PRIMARY | 100 | const | 1 |
|
+------------+-------+---------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)

This query took 0.01 seconds.

I see then it would be much better to store the email addresses as
lowecased.

But this doesn't explain what the wwsympa hangs when fetching a page
/wws/lists

From log:
May 4 15:51:18 willy wwsympa[9902]: [client 193.85.188.248] [user
address@concealed] do_lists(,)
... [now i wait for a while ]
From process list:
sympa 9902 23.9 28.0 159700 144852 ? R 15:46 1:27 perl -U
/home/sympa/bin/wwsympa.fcgi

... After few minutes ...

sympa 9902 53.2 27.9 159700 144336 ? R 15:46 5:33 perl -U
/home/sympa/bin/wwsympa.fcgi

[No output]

Is there a way how to debug the wwsympa.fcgi to see what this process
does so long ??


I have also raised the number of fastcgi processes to 25 from 5, to se
if it helps (doesn't seem so).


Best regards,
Petr Prazak




Archive powered by MHonArc 2.6.19+.

Top of Page