Re: PHP og mysql anvender ikke tilgængelige ressourer på FreeBSD?

From: Erik Cederstrand (none@erik--cederstrand.dk.lh.bsd-dk.dk)
Date: Sun 26 Oct 2008 - 22:09:23 CET


From: Erik Cederstrand <none@erik--cederstrand.dk.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk
Subject: Re: PHP og mysql anvender ikke tilgængelige ressourer på FreeBSD?
Date: Sun, 26 Oct 2008 22:09:23 +0100



Den 26/10/2008 kl. 21.28 skrev Morten Winther:

> Tyder på at php scriptet ikke kan følge helt med, da jeg har nu sat
> mange php scripts igang på samme tid og det satte lidt skub i mysql
> serveren som nu har fået lidt at lave:
>
>
> last pid: 30353; load averages: 7.07, 6.45, 4.92 64
> processes: 10 running, 54 sleeping
> CPU states: 75.1% user, 0.0% nice, 21.1% system, 0.1% interrupt,
> 3.7% idle
> Mem: 310M Active, 34M Inact, 121M Wired, 12M Cache, 60M Buf, 12M Free
> Swap: 1024M Total, 372M Used, 652M Free, 36% Inuse, 124K In
>
> PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU
> COMMAND
> 27408 mysql 24 96 0 499M 340M ucond 1 563:01 336.82%
> mysqld
>
>
> php giver stadig ikke så meget load, men hvad er alt det sbwait den
> laver?

Ok, nu nærmer vi os. PHP venter på en socket buffer - den venter på at
aflevere data til MySQL. Der er minimal CPU og I/O på PHP-siden, så
jeg tror skurken er MySQL.

Med en WCPU på 336.82% gætter jeg på, at du har en 4-CPU maskine.
Korrekt? Teori: MySQL
har kun haft én thread i gang i dit første forsøg, eftersom du kun
kørte ét PHP script. Nu hvor du kører mange scripts samtidig kan MySQL
bedre udnytte hele maskinen.

Hvis din databasestørrelse tillader det, kan du som en test kopiere /
var/db/mysql over på en memory disk, så du er helt sikker på, at du
ikke venter på dine diske. Det tyder nu ikke på det. Jeg skal ikke
gøre mig klog på MySQL optimering, men du kan jo smide din my.cnf her.
Måske kan andre bidrage. Du mangler også stadig at skrive FreeBSD og
MySQL versionsnumre.

Mvh Erik






This archive was generated by hypermail 2b30 : Fri 31 Oct 2008 - 23:00:02 CET