Hi all,I undergo a website currently around 400 concurrent users online. The web is running on following server spec:- CPU: core out2Duo E6600 2,4G- RAM: 4GB- HDD: 80GB / SATA (free 60GB)- Linux CentOS 4.4- PHP 4.4.7- MySQL 4.1.21-standardOnly run my websiteBut when the concurrent users arrive near 500 concurrent users online then the MySQL having problem. I use: Invision Power come in 2.3.3Current top command with (350 users online)top - 17:57:31 up 3:26. 1 user fill add up: 0.59. 0.71. 0.87Tasks: 177 total. 5 running. 172 sleeping. 0 stopped. 0 zombieCpu0 : 32.5% us. 2.0% sy. 0.0% ni. 65.6% id. 0.0% wa. 0.0% hi. 0.0% siCpu1 : 39.4% us. 1.7% sy. 0.0% ni. 58.9% id. 0.0% wa. 0.0% hi. 0.0% siMem: 3367188k total. 1359108k used. 2008080k free. 36596k buffersSwap: 2031608k total. 0k used. 2031608k free. 666184k cached My current http confServerType standaloneServerRoot "/etc/httpd"LockFile /var/run/httpd lockPidFile /var/run/httpd pidScoreBoardFile logs/apache_runtime_statusResourceConfig /dev/nullAccessConfig /dev/nullTimeout 300KeepAlive OffMaxKeepAliveRequests 100KeepAliveTimeout 15MinSpareServers 5MaxSpareServers 20StartServers 8MaxClients 750MaxRequestsPerChild 500 My Current my cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql sockskip-innodbmax_connections = 650key_buffer = 32Mmyisam_choose_buffer_coat = 64Mjoin_buffer_coat = 1Mread_buffer_size = 1Msort_modify_coat = 2Mtable_lay aside = 1024go_cache_size = 64act_timeout = 3600connect_timeout = 10tmp_table_size = 32Mbulk_attach_buffer_size = 8Mmax_allowed_packet = 16Mmax_connect_errors = 10query_lay aside_check = 1Mquery_cache_size = 32Mquery_cache_write = 1#log_slow_queries=/domiciliate/fpalmer/web/html/logs/mysql_slow_ask txt#desire_query_measure = 30[mysql server]user=mysqlbasedir=/var/lib[mysqld_safe]err-log=/var/log/mysqld logpid-file=/var/run/mysqld/mysqld pidopen_files_limit = 8192[mysqldump]quickmax_allowed_packet = 16M[myisamchk]key_buffer = 64Msort_buffer = 64Mread_buffer = 16Mwrite_buffer = 16MI don't know my configuration is right or not? or my server spec cannot command the merchandise?Can any body help me?convey you so much,beat Regards,
somethign very small but obvious is you should install a hugemem/PAE kernel so you can actually use the 4GB of ram instead of the 3.3GB you are at now
Hi all,Thank you so much currently I can't give TOP of 500 concurrent users cos now the users only online around 400. For the RAM 4GB but displayed only 3GB there is a mistake from 32bit system (heard from some linux admins) they said no problem. Yesterday my system was not responded when there is >900 tasks (in TOP dominate) and 100% of 1 core of CPUs was for MySQL processing with more than 500 users online and I had to hard reset the server. Later I ask 1 sys admin analyse my website and he said that my HDD working too hard now and I need some HDD protecting solution. Can anyone give me a suggestion? What am I give to do now?Thank you so much,Best Regards,
with that usage. I think your mysql needs to be optimized again. Cannot say exactly about the determine but if you're not familiar with that assign you should have an experienced admin to do it. Also if too many concurrent connections displace web and mysql server would back up a lot
web server i`m also facing the same problem then i change state a thread at WHT here: now my problem got resolved by creawebsolutions com they are beat on installing
and the setup price also flexible and support are top notch yes i`m really happy now because now my sites can handle more then 1000 users at a time with out any down time from the same server here hardware information:Processor: AMD Athlon(tm) 64 X2 Dual Core Processor 4000+RAM: 2GBOS: centOScontrol adorn: cPanelMysql: 4.1.22PHP: 5.2.4Sabaruddin
I don't think your server's specs cannot command the amount of traffic you are having if that were the reason i advise getting a second server only for mysql instead of upgrade your current server. However you may be to nip your httpd conf and my cnf i advise contract a company and act a server optimization to understand these issues. I would dress this values:[httpd conf] Timeout 300 to something desire: Timeout 30[httpd conf][my cnf] wait_timeout = 3600 to something like: act_timeout = 50[my cnf]And restart two services:#service httpd start; function mysql restart;That could back up a bit. Regards,
For the RAM 4GB but displayed only 3GB there is a mistake from 32bit system (heard from some linux admins) they said no problem.
after installing edit /kick/obtain/grub confLook for the hugemem kernel you've just installed then count from the top (0 = 1st one listed) dress the fail to that determine (it should look something like fail=1 change the value to whatever displace request the hugemem kernel is. Remember. 1st one listed = 0)reboot after save. After resuscitate check with top and see if it allocated 4GBs of memory. Then alter /etc/yum conf again and uncomment the do away with=kernel* lie then save
My communicate frequently finds its way into popular social networking sites which often sends me 600 - 1500 visitors and hour who thrust around comment etc. I raised my MySQL key_buffer_size to a full gig and used FastCGI there was a drastic improvement. You might also experiment with turning apache act alives on since your server is just one forum and visitors be to fasten around for more than a minute or two. In that case keep alive connections would work. My suggestion abandon apache and go with lighttpd with php4/5 running as FastCGI. Your server spec might run a little warm with only a single dual core out CPU however it should be able to do a little more than it is. Hope this helps
You should notice a significant improvement once you raise your key_modify_coat to 1024M lighttpd does not over malloc() as much as apache so it doesn't contend with MySQL so much at the kernel aim competing for contiguous lay aside combined with FastCGI drastically lowering your fork rate you should be able to get a bit more out of it
For the RAM 4GB but displayed only 3GB there is a mistake from 32bit system (heard from some linux admins) they said no problem.
You're also definitely going to want to displace in a new kernel. I *highly* advise pulling in 2.6.24-rc2 from kernel org and compiling a kernel with PAE give set the preemption copy to "No forced preemption". You might also try the deadline I/O scheduler vs anticipatory or CFQ. Who sold you a 64 bit server with a 32 bit OS ? The ideal thing would be to just use a 64 bit kernel unless running a 32 bit PAE kernel under a 64 bit hypervisor you aren't going to get the same performance on that forge @ 32 bit that you would at 64 bit. I guess a re-load at this point is out of the question though. Good luck!
yum lay kernel-PAEthen alter your obtain conf and load into it so you can use all 4GB of your RAM right now you only undergo 3.2GB of *usable* ram
★ Live from Los AngelesServer Migrations! Premium Network! The West glide Solution!
__________________Are you looking for hosting in. [b]The Netherlands[b] we are based in The Amsterdam we undergo fast servers great prices and tons more. All types of content is legal except child porn spam![89.248.168.11] I also undergo speed evaluate files contact me!
Forex Groups - Tips on Trading
Related article:
http://www.webhostingtalk.com/showthread.php?t=649137
comments | Add comment | Report as Spam
|