Здравейте,
бих искал да ви помоля ако може да ми помогнете да оптимизирам възможно най-добре един сървър. На него е инсталиран CentOS 5 и на него имаме работещи apache 2 и mysql. Сайтът, който се хоства на него използва Innodb engine за таблиците в базата данни.
Проблемът е следният,
apache процесите използват повече процесор и load avarage от top скача нагоре. Необходимо ми е да оптимизирам системата да ползва по-малко процесор, защотот сайтът и системата стават бавни. Ето какво показва топ:
Примерен код |
top - 23:11:41 up 11:24, 6 users, load average: 2.04, 2.08, 2.06 Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie Cpu(s): 34.3%us, 6.8%sy, 0.0%ni, 52.1%id, 6.8%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 4051316k total, 3745052k used, 306264k free, 151096k buffers Swap: 6291448k total, 69640k used, 6221808k free, 1701868k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19301 mysql 15 0 2185m 531m 4424 S 2 13.4 0:42.53 mysqld 2174 root 19 0 1347m 440m 8960 S 0 11.1 5:32.76 java 19551 apache 15 0 435m 110m 41m S 0 2.8 0:30.54 httpd 19554 apache 15 0 411m 85m 41m S 0 2.2 0:37.34 httpd 19587 apache 15 0 412m 84m 40m S 0 2.1 0:42.91 httpd 19568 apache 16 0 409m 83m 41m D 82 2.1 0:29.80 httpd 19569 apache 15 0 408m 83m 41m S 0 2.1 0:49.39 httpd 19589 apache 15 0 409m 82m 40m S 0 2.1 0:17.50 httpd 19559 apache 15 0 409m 82m 40m S 0 2.1 0:34.86 httpd 19578 apache 15 0 409m 81m 40m S 0 2.1 0:34.18 httpd 19553 apache 15 0 407m 80m 40m S 0 2.0 0:08.89 httpd 19588 apache 15 0 406m 79m 40m S 0 2.0 0:13.91 httpd 19552 apache 15 0 405m 79m 40m S 0 2.0 0:27.38 httpd 19627 apache 15 0 403m 77m 41m S 0 2.0 0:09.87 httpd 19563 apache 15 0 404m 77m 41m S 0 2.0 0:34.15 httpd 19571 apache 15 0 399m 74m 42m S 0 1.9 0:11.61 httpd 19561 apache 15 0 398m 72m 42m S 0 1.8 0:45.43 httpd 19550 apache 15 0 398m 72m 40m S 0 1.8 0:13.68 httpd 19586 apache 15 0 399m 71m 40m S 0 1.8 0:30.43 httpd 19567 apache 15 0 399m 71m 40m S 0 1.8 0:31.72 httpd 19570 apache 15 0 396m 71m 41m S 0 1.8 0:16.42 httpd 19626 apache 15 0 396m 70m 40m S 0 1.8 0:18.85 httpd 2474 mailman 18 0 186m 47m 3164 S 0 1.2 0:10.98 python 2472 mailman 18 0 184m 46m 3148 S 0 1.2 0:06.39 python 2477 mailman 15 0 183m 45m 3156 S 0 1.2 0:10.07 python 2476 mailman 15 0 180m 42m 3220 S 0 1.1 0:04.82 python 18784 root 18 0 383m 26m 9008 S 0 0.7 0:00.54 httpd 19508 root 15 0 47980 16m 1832 S 0 0.4 0:01.47 awstats.pl 2475 mailman 18 0 147m 9860 3092 S 0 0.2 0:01.50 python 2473 mailman 18 0 147m 9824 3092 S 0 0.2 0:01.37 python
|
Това е резултат от dstats
Примерен код |
76 21 1 0 0 0| 2.2 2.1 2.1|1847M 147M 1662M 300M|8087B 34k| 2 0 0| 68M 6076M|1055 805 49 9 42 1 0 0| 2.1 2.1 2.1|1847M 147M 1662M 300M|5231B 41k| 2 0 0| 68M 6076M|1075 2139 ----total-cpu-usage---- ---load-avg--- ------memory-usage----- -net/total- ---procs--- -swp/total- ---system-- usr sys idl wai hiq siq| 1m 5m 15m | used buff cach free| recv send|run blk new| used free| int csw 22 6 72 1 0 0| 2.1 2.1 2.1|1847M 147M 1662M 300M|4303B 19k| 1 0 0| 68M 6076M|1074 953 0 0 100 0 0 0| 2.1 2.1 2.1|1847M 147M 1662M 300M|2094B 19k| 1 0 0| 68M 6076M|1024 131 33 9 55 3 0 0| 2.1 2.1 2.1|1848M 147M 1662M 299M|3208B 19k| 3 0 0| 68M 6076M|1062 863 83 16 0 0 0 0| 2.1 2.1 2.1|1852M 147M 1662M 295M|4198B 20k| 8 0 0| 68M 6076M|1049 1320 89 12 0 0 0 0| 2.3 2.1 2.1|1855M 147M 1662M 292M|3577B 21k| 6 0 0| 68M 6076M|1060 2542 80 20 0 0 0 1| 2.3 2.1 2.1|1853M 147M 1662M 294M|4650B 53k| 3 0 0| 68M 6076M|1067 2618 38 11 51 1 0 0| 2.3 2.1 2.1|1848M 147M 1662M 299M|9861B 76k| 4 0 0| 68M 6076M|1103 709 82 17 2 0 0 0| 2.3 2.1 2.1|1852M 147M 1662M 295M|4569B 30k| 3 0 0| 68M 6076M|1085 1581 57 14 29 0 0 0| 2.3 2.1 2.1|1853M 147M 1662M 294M|5086B 34k| 3 0 0| 68M 6076M|1061 2051 60 11 29 1 0 0| 2.2 2.1 2.1|1846M 148M 1662M 301M|6029B 50k| 2 0 0| 68M 6076M|1173 1377 50 12 37 0 0 0| 2.2 2.1 2.1|1846M 148M 1662M 301M|7440B 58k| 2 0 0| 68M 6076M|1067 1785 12 3 84 1 0 0| 2.2 2.1 2.1|1847M 148M 1662M 299M|6211B 67k| 0 0 0| 68M 6076M|1092 463 18 5 74 1 0 0| 2.2 2.1 2.1|1848M 148M 1662M 299M|5356B 27k| 0 0 0| 68M 6076M|1082 810 0 1 100 0 0 0| 2.2 2.1 2.1|1847M 148M 1662M 299M|6042B 70k| 0 0 0| 68M 6076M|1085 227 2 2 97 0 0 0| 2 2.1 2.1|1847M 148M 1662M 299M|6088B 53k| 2 0 0| 68M 6076M|1076 348 39 10 49 2 0 0| 2 2.1 2.1|1848M 148M 1662M 299M|8597B 51k| 1 0 0| 68M 6076M|1082 742 44 6 50 0 0 0| 2 2.1 2.1|1848M 148M 1662M 299M|7495B 68k| 1 0 0| 68M 6076M|1071 1449 30 8 61 2 0 0| 2 2.1 2.1|1848M 148M 1662M 299M|4438B 42k| 0 2 0| 68M 6076M|1128 1226 13 3 46 39 0 0| 2 2.1 2.1|1858M 148M 1662M 289M|8227B 37k| 1 0 0| 68M 6076M|1236 338
|
Имам следната конфигурация на apache:
Примерен код |
# # Timeout: The number of seconds before receives and sends time out. # Timeout 100
# # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On
# # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100
# # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 2
## ## Server-Pool Size Regulation (MPM specific) ##
# prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # ServerLimit: maximum value for MaxClients for the lifetime of the server # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 20 ServerLimit 100 MaxClients 100 MaxRequestsPerChild 4000 </IfModule>
|
И това е за my.cnf
Примерен код |
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=0 bind-address=127.0.0.1 max_connections=300 # Set MyISAM parameters key_buffer_size=3M tmp_table_size=16M # Set InnoDB parameters innodb_file_per_table # Set buffer pool size to 50 - 80% of availiable memory. innodb_buffer_pool_size=1500M innodb_additional_mem_pool_size=50M # Set the log file size to about 25% of the buffer pool size. #innodb_log_file_size=5M #innodb_log_buffer_size=1M table_cache=1024 #sort_buffer_size=3M query_cache_type=1 query_cache_limit=1M query_cache_size=40M net_read_timeout=120 #long_query_time=10 #log_warnings=2 #log_slow_queries=/var/log/mysql/slow-queries.log collation_server=utf8_unicode_ci character_set_server=utf8
[mysql] default-character-set=utf8
[mysqldump] default-character-set=utf8
[mysql.server] user=mysql basedir=/var/lib
[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
|
Моля ви се да ми помогнете да разреша този проблем.
Ако имате нужда от още информация ще ви я дам.