i have a Intel Quad Core Xeon X3440 (4 x 2.53GHz, 8MB Cache, Hyper Threaded) with 16gig and 1tb harddrive with a 1gb port and my apache is causing my cpu to go up to 100% on all four cores heres my http.config
Code:
<IfModule prefork.c>
StartServers 10
MinSpareServers 10
MaxSpareServers 15
ServerLimit 1000
MaxClients 1000
MaxRequestsPerChild 5000
</IfModule>
<IfModule worker.c>
StartServers 35
MaxClients 200
MinSpareThreads 30
MaxSpareThreads 305
ThreadsPerChild 255
MaxRequestsPerChild 0
</IfModule>
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 800
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 2
there are many things you need to check, if your traffic usage ( in case of correct configuration ) isnt bigger than your server resource then:
1) you need to turn off KeepAlive
2) decrease MaxRequestsPerChild to 30
3) decrease Timeout if its bigger than 90seconds
4) check your sysctl.conf or use this pre-configured sysctl :
Code:
#Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Disables packet forwarding
net.ipv4.ip_forward=0
# Disables IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 0
net.ipv4.conf.lo.log_martians = 0
net.ipv4.conf.eth0.log_martians = 0
# Disables IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
# Disables the magic-sysrq key
kernel.sysrq = 0
# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15
# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800
# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0
# Turn off the tcp_sack
net.ipv4.tcp_sack = 0
# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0
# Enable TCP SYN Cookie Protection
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 3
# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1
# Increases the size of the socket queue (effectively, q0).
net.ipv4.tcp_max_syn_backlog = 1024
# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000
# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536
net.ipv4.netfilter.ip_conntrack_max = 196605000
vm.dirty_background_ratio = 20
vm.dirty_ratio = 60
#reduce the number of time_wait connections
#these 3 lines can reduce your time_wait count by several hundred percent.
#however you should not use the following lines in a NATed configuration.
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
vm.swappiness=0
then run:
Code:
sysctl -p
5) check .htaccess of websites, sometimes they are using much cpu
6) check whether you are not under attack , use mod_security , mod_evasive , firewall like csf , etc...
7) check enabled modules , and exclude unnecessaries.
8) if your websites are running on php and your apache compiled with mod_suphp/phpSUEXEC/mod_fcgi/ ,etc they are 4 times slower than mod_php , switch to mod_php
9) use caches like eAccelerator , xcache , ...
finally, the information you gave isnt much that we rely on to help you resolve the problem, google for optimizing apache to find more on this.
i have memcached installed and when i get a rush of traffic it still maxes out the cores noo im not underattck these are actual visitors i also did all the edits you told me to thanks alot
What's "a rush of traffic"? How big is it? 10 users? 10,000? If you're using HTTPS, the encryption/decryption is CPU-intensive, so a lot of users could very well peg your CPUs.
I have a 12 core linux cpu but the load is really high on this box, hovering around 50. What configuration changes do we need to make so that system have no bottleneck. (13 Replies)
Got two RHEL servers - one real and one virtual/cloud.
Both run apache web server.
When traffic is applied, CPU seems to go quite high on virtual one (20%) but real is not really affected. Worry is that a further increase in traffic will see a problem.
Experience of RHEL is limited. Whats... (2 Replies)
Hi,
could someone give me an example for a debian server script? I need to check a process if the process has a high cpu load (top).
If yes the whole server needs to reboot.
Thats it, nothing more. ;)
Hope someone could help me.
Regards
woisch (2 Replies)
Hi ,
I am trying to :wall: my head while scripting ..I am really new to this stuff , never did it before :( .
how to find cpu's system high time and user time high in a script??
thanks , help would be appreciated !
:) (9 Replies)
I'm not sure if this belong in dummies or advanced so I made my best guess. Go easy on me if I get it wrong.
I'm trying to determine what a high load for my system is. I run a php/mysql web server with a dedicated host. The host has a Intel Xeon 3110 (Dual Core) processor.
Our load seems to... (5 Replies)
Hi All
My Server is doing a very intense netowrk traffic operations and the cards are under very high pressure.
I need to call NETSTAT on the shell. Do you know whether this command, under high pressure, might have some impact on the server traffic or can I proceed without any problem? (2 Replies)
Hi Buddies,
Thanx for reading my first post...
After googling a lot and searching so many forums I am feeling down a bit...
Please don't mind my ignorence, and my grammer ... :)
My server is running RHEL 2.6.9-5.EL. The cpu load is going higher than roof, almost 100 sometimes.
I am... (2 Replies)
Hi All.
In my production server the load is very high.
normally it used to be less than 1,but now it is more than 5.
I am new to unix all together.
I want to know what is the reason behind high load.
and if it is high what is the impact? (4 Replies)
Hi,
I am seeing very high kernel usage and very high load averages on my system (Although we are not loading much data to our database). Here is the output of top...does anyone know what i should be looking at?
Thanks,
Lorraine
last pid: 13144; load averages: 22.32, 19.81, 16.78 ... (4 Replies)
after a long period of running, the network application's CPU load in our syst em increase slowly, the failed at the end. we use "truss" tool to trace the process, found that it processes something like "semop" ,"semctl","thread_waitlock","kread" kernel call . The trace log file looks like the... (0 Replies)