V
7  
Tags
There are no tags for this page.
Attachments
Dobrica Pavlinušić's random unstructured stuff
titan performance

Before performance tuning

Memory

titan:~# free
             total       used       free     shared    buffers     cached
Mem:        903920     884360      19560          0       6728     167636
-/+ buffers/cache:     709996     193924
Swap:       995988     367732     628256

Koristi relativno mnogo swap-a, dmesg ima poruke o OOM-u, dakle treba mu više swap-a (ideja: smanjiti broj apache childova, jer je apache-ssl zapravo jako velik).

Mašina zapravo brutalno swap-a, pa nije ni čudo da se vuče kao crknuta krava:

titan:~# vmstat 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 6 37 430500   7692   3728 105088    8    2    14     3    2   11 18 12 69  0
 3 45 432800   6512   3632 103128 2524 1596  4019  1931 1370 1613 11 28 61  0
 2 47 442860   7460   3608 102216  649 2553   857  2664  489  381  3 32 65  0
 5 56 444028   4760   3620 102328  497 1840   556  1869  464  282  3 37 60  0
16 44 472132   6788   3684 102392 4467 10889  5239 11409 3297 2770  5 34 61  0
11 36 474232   5868   3784 103212 1589 1212  2047  1435  681  812 13 28 59  0
 3 38 488996   5232   3708 102672 1952 5435  2985  5885 1704 1675  7 30 63  0
 1 18 493556   6976   3808 104396  491  855  1291  1105  866  643  8 31 61  0
 0 24 497508   6024   3736 104160  203 1576  1008  1768  551  592  6 36 59  0
 2 20 499324   5900   3800 105964  509  375  1549   533  517  727  8 30 62  0
 6 23 501608   5928   3844 106700  300 1528   804  1647  505  466  5 35 60  0
 2 26 500752   7804   3872 106388  629  583  1281   795  508  588  6 29 64  0
 4 26 500240   8068   3872 107264  533  300  1311   439  465  580  9 28 63  0

Disk nema uključen dma:

titan:~# hdparm /dev/hda

/dev/hda:
 multcount    = 16 (on)
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 9729/255/63, sectors = 156299375, start = 0

titan:~# hdparm -d 1 -c 3 -a 16 -m 16 /dev/hda

Instalirao sam: atop, hdparm, vim, sysstat, atsar

Vratio sam direktive za broj apache child-ova:

titan:~# diff -urw /etc/apache-ssl/httpd.conf.before_dpavlin /etc/apache-ssl/httpd.conf
--- /etc/apache-ssl/httpd.conf.before_dpavlin   2007-02-07 19:29:54.000000000 +0100
+++ /etc/apache-ssl/httpd.conf  2007-02-07 20:19:55.000000000 +0100
@@ -124,7 +124,7 @@
 # KeepAliveTimeout: Number of seconds to wait for the next request from the
 # same client on the same connection.
 #
-KeepAliveTimeout 15
+KeepAliveTimeout 5
 
 #
 # Server-pool size regulation.  Rather than making you guess how many
@@ -139,10 +139,15 @@
 # a new spare.  If there are more than MaxSpareServers, some of the
 # spares die off.  The default values are probably OK for most sites.
 #
+MinSpareServers 10
+MaxSpareServers 10
+
 #
 # Number of servers to start initially --- should be a reasonable ballpark
 # figure.
 #
+StartServers 10
+
 #
 # Limit on total number of servers running, i.e., limit on the number
 # of clients who can simultaneously connect --- if this limit is ever
@@ -150,6 +155,8 @@
 # It is intended mainly as a brake to keep a runaway server from taking
 # the system with it as it spirals down...
 #
+MaxClients 512
+#MaxClients 2048
 
 #
 # MaxRequestsPerChild: the number of requests each child process is

Brojevi su namjerno konzervativno mali, cilj je prestati koristiti swap.

Pokušao sam smanjiti broj konekacija iz php-a na mysql:

titan:~# diff -urw /etc/php4/apache/php.ini.before_dpavlin /etc/php4/apache/php.ini

*** /etc/php4/apache/php.ini.before_dpavlin 2007-01-31 22:19:05.000000000 +0100
*** /etc/php4/apache/php.ini 2007-02-07 19:45:40.000000000 +0100

@@ -530,7 +530,7 @@
 mysql.max_persistent = 16

 ; Maximum number of links (persistent + non-persistent). -1 means no limit.
-mysql.max_links = 256
+mysql.max_links = 32
 mysql.connect_timeout = 30

 ; Default port number for mysql_connect(). If unset, mysql_connect() will use

sve u svemu, donekle uspješno:

titan:~# ps ax | egrep '(apache-ssl|mysqld)' | awk '{ print $5 }' | sort | uniq -c
      2 /bin/sh
      1 /usr/lib/apache-ssl/gcache
     62 /usr/sbin/apache-ssl
     47 /usr/sbin/mysqld
      1 grep
      1 logger
titan:~# free
             total       used       free     shared    buffers     cached
Mem:        903920     815964      87956          0      21896     304012
-/+ buffers/cache:     490056     413864
Swap:       995988     164696     831292
titan:~# uptime
 20:33:43 up 9 days, 12:38,  4 users,  load average: 1.25, 1.34, 2.60
titan:~# vmstat 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0 162956  61912  26160 359660    8    3    16     4    3   13 18 12 69  0
 0  0 162956  55044  26200 359736    1    0    17   232  285  662 24  1 75  0
 6  0 162956  54020  26264 359960    0    0    71   231  337  506 18  1 80  0
 1  0 162956  54984  26300 360856    0    0   292   215  425  615 39  2 60  0
 1  0 162956  51108  26368 360896    0    0     7   335  320  702 32  3 65  0
 1  0 162956  49692  26472 360928    7    0     7   479  439  765 26  2 72  0
 4  0 162956  55144  26496 360960    0    0     3   205  331  655 74  4 22  0
 2  0 162956  54324  26568 360996    0    0     4   489  466  816 56  5 39  0
 0  0 162956  54208  26604 361168    0    0    55   215  310  566 29  2 69  0
 4  0 162956  48900  26840 362348    0    0   373  1059  522 1106 44  4 52  0
 1  0 162956  40216  27000 363224    0    0   277   732  505  967 37  4 59  0
 0  0 162956  55336  27016 363864    0    0   211   220  320  553 47  2 51  0
 1  0 162952  60284  27096 364056    1    0    55   417  355  693 32  2 65  0

uptime oko je 2 (što je za dvoprocesorsku mašinu o.k.), a zapravo ima i nešto idle CPU-a što je uvijek zgodno.


 

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

 
 
 
File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

 
 
 
Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.

Tag: 

Suggestions: