Jump to content

VPS server to crash after some time


Recommended Posts

I have VPS server with configuration CPU 1GHz RAM 512MB

Apache/2.2.15 (CentOS) + nginx, MySQL 5.5.40, PHP 5.4.34

 

Store is fast enough, but if run the re-index search, server (apache) to crash

 

if run test Load Impact or Apache Bench (with minimum load), server also to crash

 

my httpd.conf

ServerTokens OS
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 10

<IfModule prefork.c>
    StartServers       1
    MinSpareServers    1
    MaxSpareServers    3
    ServerLimit        10
    MaxClients         10
    MaxRequestsPerChild  3000
</IfModule>

<IfModule worker.c>
    StartServers         1
    MinSpareThreads     5
    MaxSpareThreads     15
	ThreadLimit	25
    ThreadsPerChild     5
	MaxClients         25
    MaxRequestsPerChild  200
</IfModule>

<IfModule itk.c>
    StartServers       1
    MinSpareServers    1
    MaxSpareServers   3
    ServerLimit      10
    MaxClients       10
    MaxRequestsPerChild  1000
</IfModule>

#LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule version_module modules/mod_version.so

Include conf.d/*.conf

ExtendedStatus On

User apache
Group apache

ServerAdmin root@localhost
UseCanonicalName Off
DocumentRoot "/var/www/html"
<Directory />
    Options SymLinksIfOwnerMatch
    AllowOverride None
</Directory>

<Directory "/var/www/html">
    Options Indexes SymLinksIfOwnerMatch
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>

DirectoryIndex index.php index.htm index.html

AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
TypesConfig /etc/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>
    MIMEMagicFile conf/magic
</IfModule>

HostnameLookups Off

ErrorLog logs/error_log
LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
LogFormat "%b" bytes
CustomLog logs/access_log combined

ServerSignature On

Alias /icons/ "/var/www/icons/"

<Directory "/var/www/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<Directory "/var/www/html">
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>

IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback

AddDefaultCharset UTF-8

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType image/x-icon .ico

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/50x.html
ErrorDocument 501 /error/50x.html
ErrorDocument 502 /error/50x.html
ErrorDocument 503 /error/50x.html
ErrorDocument 506 /error/50x.html

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

please tell me, how to get rid of crash server

Link to comment
Share on other sites

How would any of that work? He has a VPS with 512mb of memory, if you set php using all of that memory you are going to run into issues. Mysql needs at least 10% of the system memory, apache needs memory, exim does, and the general system itself. 

 

He needs to run top and see what load is being generated on the system when it crashes, I am pretty sure it is with too many workers and keep alive. 

Link to comment
Share on other sites

Try to put max_input_time and max_execution_time to 900. This should solve your problem. Which memory ´limit do you have ? 512 should be OK.

max_input_time = 180

max_execution_time = 300

 

Add:

 if run Apache Bench (with minimum load) server at once to crash

Edited by ggyyvv (see edit history)
Link to comment
Share on other sites

How would any of that work? He has a VPS with 512mb of memory, if you set php using all of that memory you are going to run into issues. Mysql needs at least 10% of the system memory, apache needs memory, exim does, and the general system itself. 

 

He needs to run top and see what load is being generated on the system when it crashes, I am pretty sure it is with too many workers and keep alive. 

it is my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#tmpdir                          = /var/lib/mysqltmp
user=mysql
symbolic-links=0


## Cache
thread-cache-size               = 18
table-open-cache                = 2000
table-definition-cache          = 750
query-cache-size                = 64M 
query-cache-limit               = 2M

## Per-thread Buffers
sort-buffer-size                = 64K 
read-buffer-size                = 64K
read-rnd-buffer-size            = 256K
join-buffer-size                = 384K

## Temp Tables
tmp-table-size                  = 16M 
max-heap-table-size             = 16M 

## Networking
back-log                        = 100
max-connections                = 20
max-connect-errors              = 10000
max_join_size                   = 100M
max-allowed-packet              = 8M
interactive-timeout             = 60
wait-timeout                    = 60

#default-storage-engine         = InnoDB
innodb                          = FORCE

## MyISAM
key-buffer-size                 = 20K 
myisam-sort-buffer-size         = 20K

## InnoDB
innodb-buffer-pool-size        = 64M
#innodb-log-file-size           = 100M
#innodb-log-buffer-size         = 8M
innodb-file-per-table
#innodb-open-files              = 300

## Logging
#log-output                      = FILE
slow-query-log                  = 1
slow-query-log-file             = /var/log/mysql_slow.log
#log-slow-slave-statements
long-query-time                 = 1
log_queries_not_using_indexes    = 1


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Link to comment
Share on other sites

Try running the top command and then start a load impact test, see what is using the most memory before it stops responding. 

Several (7-9) httpd (apache) is using the most memory before it stops responding. Every is using 11-12% CPU and 9-10% MEM

 

I need to change something in the settings of Apache?

Edited by ggyyvv (see edit history)
Link to comment
Share on other sites

How would any of that work? He has a VPS with 512mb of memory, if you set php using all of that memory you are going to run into issues. Mysql needs at least 10% of the system memory, apache needs memory, exim does, and the general system itself. 

 

He needs to run top and see what load is being generated on the system when it crashes, I am pretty sure it is with too many workers and keep alive. 

Sorry, but this really depends on your store. If you are using for ex. the blocklayered than you will run into nirvana only with some filters, I have 100% of 2GB and it delivers a 503 when you try to reset the module.

 

@ggyyvv - do have any chance to get more memory ? with another package ?

Link to comment
Share on other sites

Try reducing these values to 5. 

 

ServerLimit 10

MaxClients 10

Thank you, really helped!!!

 

Load impact test passes without reload of server!

Apache Bench passes once, but second test leads to the server reboots (crash of apache)...

Link to comment
Share on other sites

Sorry, but this really depends on your store. If you are using for ex. the blocklayered than you will run into nirvana only with some filters, I have 100% of 2GB and it delivers a 503 when you try to reset the module.

 

@ggyyvv - do have any chance to get more memory ? with another package ?

blocklayered working a perfectly (nearly 800 items)

replace the package, i think sooner - even small attendance

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...