You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Aleksandar Skodric <ap...@skodric.com> on 2006/03/06 17:33:37 UTC

[users@httpd] Performance problems with large uploads / downloads

HI all,

My first mailing, so forgive me if something aint as correct as should be :)

Anyway, as there is no good seacht option in archives, i searched in 
last 3 months, but did not find what I was looking for, therefore, an 
mail to all.

I have an dedicated server. It runs Debian Sarge, with:

Server version: Apache/2.0.54
Server built:   Sep  5 2005 11:15:09

PHP 4.3.10-16.1 (cli) (built: Feb 25 2006 04:17:45)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

mysql  Ver 12.22 Distrib 4.0.24, for pc-linux-gnu (i386)

It is an AMD 2.6 with 512 MB RAM (will be soon upgraded to 2 GB).

However, this is the problem I have with it. I have very few sites on 
it, 6 in total, but only one has some more visits (+/- 1.000 unique per 
day, with +/- 25.000 pages per day).

It has an custom build script for PHP uploads, and apache handles 
downloads themself.

Problem: few times a day (5+) CPU goes to 99% wait time. In this period, 
everything basicly freezes (http, ftp, ssh). I can do almost nothing 
with machine. It is always one of the apache proccess, but I can not 
find what exactly. I have however found out that I/O goes nuts at those 
moments, so it is doing something with hard disk. I have optimised 
script for as much as possible, but there is still some moving of larger 
files between 2 hard disks. No file is larger then 100 MB, so I can 
imagine this takes some CPU time. But manually moving such file takes no 
longer then 15-20 seconds, while CPU stands for up to few minutes @ 99% 
wait time.
(php will be rewritten to use cp insted of mv command as PHP people say 
it saves on performance as well on moving larger files).

My question is: how can I optimise even more Apache proccess (master, 
child...?). Apache needs to handle larger (20-100 MB) downloads, some on 
very slow connections (33,6 k modem). httpd.conf available upon request.

I have setted up server-status and server-info, also tried ab tool from 
Apache, but to be honest, I have no idea what all those numbers 
represent or what to do with them :(

So, who could guide me in the right direction to pin-point the problem 
and to solve it? I am root on the machine, so I can do everything 
(though, my knowledge may be bottleneck).

Thank you in advance!

Best regards,
Aleksandar Skodric


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org