[TYPO3-UG Denmark] Performance på server

Søren Andersen hacksaw at zpeed.dk
Sat Feb 23 10:16:59 CET 2008


Hej Allan

Jeg glemte vist at tage disse med:
query cache limit 2.097.152 
query cache min res unit 4.096 
query cache size 67.108.864 
query cache type ON

Så jeg har en query cache på 64M, den vil jeg så sætte op når der kommer
flere RAM i maskinen.

Når jeg går i PhpMyAdmin og kigger i "Status" så får jeg nogle røde tal:
-Innodb_buffer_pool_reads 
-20 k 
-Antallet af logiske reads som InnoDB ikke kunne tilfredsstille fra buffer
pool og måtte lave en enkelt-side read.

-Handler_read_rnd 
-48 k 
-Antallet af anmodninger om at læse en række baseret på en fast position.
Denne er høj hvis du laver mange forespørgsler der kræver -sortering af
resultatet. Du har sandsynligvis mange forespørgsler der forlanger at MySQL
scanner hele tabeller eller du har joins der ikke bruger nøgler ordentligt. 

-Handler_read_rnd_next 
-21 M 
-Antallet af anmodninger om læsning af næste række i datafilen. Denne er høj
hvis du laver mange tabelscanninger. Generelt antyder dette at dine tabeller
enten ikke er ordentligt indekserede eller at dine forespørgsler ikke er
skrevet til at drage fordel af de indeks du har.  

-Qcache_lowmem_prunes 
-64 k 
-Antallet af forespørgsler der er blevet fjernet fra mellemlageret for at
rydde hukommelse til mellemlagring af nye forespørgsler. Denne information
kan hjælpe dig med at tune forespørgselsmellemlagerets størrelse.
Forespørgselsmellemlageret bruger en mindst nyligt brugt (LRU) strategi til
at afgøre hvilke forespørgsler der skal fjernes fra mellemlageret. 

-Created_tmp_disk_tables 
-6.580  
-Antal midlertidige tabeller på disken oprettet automatisk af serveren under
udførelse af statements. Hvis Created_tmp_disk_tables er stor, skal du
overveje at forøge tmp_table_size værdien for at gøre midlertidige tabeller
hukommelses-baserede i stedet for disk-baserede.   

-Select_full_join 
-44  
-Antallet af joins der ikke bruger indeks. Hvis denne værdi ikke er 0, bør
du nøje tjekke indeksene på dine tabeller.

-Opened_tables 
-4.732  
-Antallet af tabeller der er blevet åbnet. Hvis åbnede tabeller er stor, er
dit tabelmellemlager sandsynligvis for lille.


Noget kunne godt tyde på at mit "tabelmellemlager" er for lille, men hvilken
variabel er det lige der udgør tabelmellemlageret?

Jeg installerede i øvrigt eaccelerator i går og det fordoblede performance i
den benchmark jeg tidligere viste, så nu loader mine sider stort set med det
samme.

Med venlig hilsen
Søren Andersen


-----Oprindelig meddelelse-----
Fra: typo3-ug-denmark-bounces at lists.netfielders.de
[mailto:typo3-ug-denmark-bounces at lists.netfielders.de] På vegne af Allan
Jacobsen
Sendt: 23. februar 2008 09:45
Til: TYPO3 Usergroup Denmark
Emne: Re: [TYPO3-UG Denmark] Performance på server

Hej Søren

At sammenligne en TYPO3 fil på 6,4 Kbyte med en robots.txt på typisk under
100byte er måske ikke helt fair, men størrelsesordenen på en aktiv side,
hvor der skal laves databaseopslag osv. og på en passiv side er typisk
mellem 100-1000 gange, så din server opfører sig normalt.
At få sat en php accelerator på serveren er klart en god ide, om det skal
være eaccelerator, xcache, APC eller Zend er lidt et religionsspørgsmål, de
vil alle give en vis forbedring af performance.
Jeg synes at jeg savner querycache under dine mysql parametre, det giver
også lidt, og hvis du køber 1Gbyte, vil jeg klart anbefale at du sætter
128Mbyte op til Mysql querycache.

Ud over serverens tuning, burde du også kikke på TYPO3 websidernes
opsætning, hvis du kan få en side ændret fra at blive genereret hver gang
til at blive hentet fra TYPO3s pagecache giver typisk 10 gange bedre
performance, og hvis du kan bruge static filecache giver det yderligere 10
gange, så der er meget mere at hente der, end ved at tune serveren.

MVH
Allan Jacobsen
PS jeg lavede nogle tests for godt et år siden: 
http://www.mit-inter.net/typo3-performance-tuning/

Søren Andersen skrev:
> Hej Liste
>
>  
>
> Jeg har en vhost hvorpå jeg har opsat omkring 30 sider med TYPO3, de 
> deler samme source, men her på det sidste synes jeg performance er 
> gået lidt ned af bakke.
>
>  
>
> Her er noget output fra apache benchmark:
>
> Server Software:        Apache/2.2.4
>
> Server Hostname:        server.com
>
> Server Port:            80
>
>  
>
> Document Path:          /
>
> Document Length:        6405 bytes
>
>  
>
> Concurrency Level:      5
>
> Time taken for tests:   37.828751 seconds
>
> Complete requests:      50
>
> Failed requests:        0
>
> Write errors:           0
>
> Total transferred:      345800 bytes
>
> HTML transferred:       320250 bytes
>
> Requests per second:    1.32 [#/sec] (mean)
>
> Time per request:       3782.875 [ms] (mean)
>
> Time per request:       756.575 [ms] (mean, across all concurrent
requests)
>
> Transfer rate:          8.91 [Kbytes/sec] received
>
>  
>
> Connection Times (ms)
>
>               min  mean[+/-sd] median   max
>
> Connect:        0    0   3.3      0      19
>
> Processing:  1239 3747 1762.3   3204    7958
>
> Waiting:     1230 3699 1736.6   3202    7910
>
> Total:       1239 3748 1763.5   3204    7958
>
>  
>
> Percentage of the requests served within a certain time (ms)
>
>   50%   3204
>
>   66%   4310
>
>   75%   5098
>
>   80%   5549
>
>   90%   6600
>
>   95%   7034
>
>   98%   7958
>
>   99%   7958
>
>  100%   7958 (longest request)
>
>  
>
> Det er jo ikke ligefrem super med 1,32 requests pr. sekund. Hvis jeg 
> laver testen på en statisk fil som robots.txt så får jeg ca. 1200, som 
> jeg kan fornemme er meget fint.
>
>  
>
> Jeg har allerede bedt om at få installeret en PHP accelerator, da jeg 
> har læst at det kunne firdoble performance på testsiden på:
> http://typo3.org/development/articles/testing-and-tuning-typo3-perform
> ance/p
> age/4/
>
>  
>
> Men jeg vil også tro at MySQL kunne have en del med den dårlige 
> performance at gøre. Her er nogle variable jeg har læst kan være
essentielle:
>
> key buffer size 16.777.216
>
> max allowed packet 1.047.552
>
> max connections 400
>
> read buffer size 258.048
>
> read rnd buffer size 520.192
>
> sort buffer size 524.280
>
> table cache 1.200
>
> wait timeout 28.800
>
> thread cache size 0
>
> concurrent insert 1
>
>  
>
> Og så lige en vmstat 10 1:
>
> procs      memory      page                    disks     faults      cpu
>
>  r b w     avm    fre  flt  re  pi  po  fr  sr da0 pa0   in   sy  cs us sy
> id
>
>  2 18 0 1044468 196308   77   0   0   0 104  15   0   0   56  114  84 27
15
> 58
>
>  0 18 0 1044468 195476    3   0   0   0   4   0 216   0 1093 5025 3120  1
10
> 89
>
>  0 19 0 1044468 194584    0   0   0   0   0   0 216   0 1076 5470 3135  0
8
> 92
>
>  0 18 0 1044468 193716   10   0   0   0   0   0 212   0 1097 5375 3160  0
6
> 94
>
>  1 18 0 1044752 192548  148   0   0   0  75   0 214   0 1218 7801 3416  1
17
> 82
>
>  0 18 0 1044752 191632    0   0   0   0   0   0 222   0 1119 6352 3269  2
9
> 89
>
>  1 18 0 1044752 190724 1195   0   0   0 1000   0 220   0 1288 6605 3546  2
> 9 88
>
>  0 18 0 1044752 189856  242   0   0   0 200   0 210   0 1071 5137 3085  0
8
> 92
>
>  0 18 0 1044752 188908    0   0   0   0   0   0 228   0 1147 6228 3316  0
6
> 94
>
>  0 18 0 1044752 187968    4   0   0   0   0   0 227   0 1137 6753 3323  2
10
> 88
>
>  
>
> Da det jo er en vhost så deler jeg rammene med andre, men jeg tilkøber
min.
> 1 GB ram mere så jeg har noget at bruge af. Hvad kan I anbefale at jeg 
> piller ved for at få den bedste performance med 1 GB ram mere? 
> (serveren kører i øvrigt FreeBSD)
>
>  
>
> Dernæst har jeg læst noget om at MaxClients bevirker at apache 
> allokerer en del ram til processer, selvom de ikke bliver brugt. Jeg 
> har dog ikke kunnet finde ud af hvor højt min MaxClients er sat ej 
> heller hvordan jeg ændrer denne indstilling.
>
>  
>
> Er der en venlig sjæl, der kan give mig nogle tips?
>
>  
>
> Med venlig hilsen
>
> Søren Andersen
>
> _______________________________________________
> TYPO3-UG-denmark mailing list
> TYPO3-UG-denmark at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-ug-denmark
>
>   




More information about the TYPO3-UG-denmark mailing list