AWStats as the default stat package

IT_Architect

Verified User
Joined
Feb 27, 2006
Messages
1,094
AWStats is the package web host customers are looking for. Webalizer is long out of date. cPanel guys gloat about having AWStats built in. The guys on the Plesk forum are furious about it because it was not in the new Linux/Unix version and there have been few who are successful adding it. That's the reason why I switched from Plesk to DA on the new server. DirectAdmin has a snapin but it doesn't install on FreeBSD without tinkering. If the snapin hadn't worked well, I wouldn't be here.

The absence of AWStats can easily be a deal killer for anyone with the potential to host commercial sites. There is no point in making it easy for the cPanels guys.
 
As I've read posts here on these forums on AW Stats I get the impression it's a resource hog.

Is that not true?

Jeff
 
We've installed in on 40 servers..working like a charm. Runs just before the normal webalizer and DA tally (or you don't get a full day's stats..).

Snapin? Oh, PLUGIN..lol.

If you follow the instructions in the plugin thread here, should work like a charm.

Looking at MRTG, seeing spike in CPU at time it runs to about a load of 1.5 give or take on the p4 2.4's and 1.25 on the dual xeon's...

See a hella lot bigger spike during the backup cycles...so I don't see it as a intensive app since it only runs once a day..at least how we have it setup.

Also, make sure you disable the "update from web" feature...for both security and to keep moron's from tyring to update every 5 mins..lol.
 
Last edited:
jlasman: As I've read posts here on these forums on AW Stats I get the impression it's a resource hog. Is that not true?
Good question. It is the stat package that vDeck uses, which is the control panel that iPower uses on their shared hosting. Their shared hosts average between 600-700 per box. I cannot give you a number, but if it were a killer, I wouldn't expect iPower would have it setup and running on even their low cost shared hosting plans since they are all about getting the most people they can on a server. The only thing that I can think of that would have much of an impact would be enabling reverse lookups, which you can bet most people enable even at iPower.
 
to resolve potential resource usage problems I do the following.

1 - disable the on demand update button in awstats.
2 - run the crontab at a low priority so it doesnt affect anything.

I have never noticed slowdowns as a result of awstats doing its number crunching.
 
AWStats is much more of a resource hog than webalizer - because it is written in Perl, whereas Webalizer is written in C.

However, who cares if webalizer takes 0.1 seconds to update its stats and awstats takes ten times as long?

AWStats people do have suggestions on improving performance in their advice section of the FAQ.

Personally, I run awstats in the middle of the night and don't worry about it. I'm sure my backups are *way* more of a resource issue.

(BTW they say.. 20MB logs = 15 seconds on a 1Ghz Athlon. And that the biggest speed problem is reverse DNS lookups - 99% of your stat construction time is spent asking DNS what name to assign an IP).

From a comparison of other stats packages Awstats will do 5200 lines per second compared to webalizer's 12000 lps, (and Analog's 39000 lps!)
 
See the trade off is thta while webalizer runs 12000lp, it only produces a barely usable report..minimal at best.


SO you trade off speed for usability.


As for backups..hell yeah...a blindman could see the Mt. Everst spike when backups run...lol. The awstats spike is hardly a blip.

I"m gonna look at the link with the advice though to see if I can increase performance some.

So far though, no complaints and lots of thank you's from our clients.
 
I use this plugin which may help with the dns lookups.

# Plugin: HashFiles
# Perl modules required: Storable
# AWStats DNS cache files are read/saved as native hash files. This increase
# DNS cache files loading speed, above all for very large web sites.
#
#LoadPlugin="hashfiles"
 
I asked Onno if he knew of issues with AWStats resource usage. Here's what he wrote:
It brings a dual CPU server with 2Gb of RAM to a virtual standstil when it updates 800+ domains.
Can others tell us of their experiences?

Jeff
 
I suppose the question to be asked is: how many gig of logfiles is that, and does he have the performance-killing features like dns lookups, or geo-ip lookup enabled?

Also, I'd (and I assume everyone who uses AWstats) be interested to see how long his update takes, and how long his webalizer update takes to complete too.
 
jlasman said:
I asked Onno if he knew of issues with AWStats resource usage. Here's what he wrote:

Can others tell us of their experiences?

Jeff


Well, it doesnt here but few things bear in mind.

The first run always takes the longest after that if you update at least once a day it is much quicker.

Run at low priority as to not affect other server tasks.

800 domains is much more then I run it on and I would guess it cold take longer then a 24 hour period to run so in theory a new update could start with the old one in process, in that case I would maybe run every 3 or 4 days.

Ultimately like other have suggested kill the dns lookups when using on such a large number of domains.
 
jlasman said:
I asked Onno if he knew of issues with AWStats resource usage. Here's what he wrote:
It brings a dual CPU server with 2Gb of RAM to a virtual standstil when it updates 800+ domains.

Can others tell us of their experiences?

Jeff

800 domains ?? on one server??? eeesh. That scares me.
 
Dear God... I'm glad I dont pack my servers that tight... no offense guys, but that truly scares me thinking of that many customers on one server.

I run dual xeons with 2+ gb of RAM ... would never DREAM of putting that many on there. I barely run HALF of that

Trying to browse to Onnos site, budgethosting.nl, I get:

The connection was reset

The connection to the server was reset while the page was loading.

* The site could be temporarily unavailable or too busy. Try again in a few moments.
 
Last edited:
800 sites on any server is pure insanity..sorry, but in the case of the topic of this thread, I'd say that ONNO is not a good base for comparison, but one of extremes...

So far, with 300 or so sites..not a problem.
 
The server with 800 domains on it is indeed more than I usually have but to get back to reality I have multiple servers running 200-300 domains with plenty of CPU and Memory, during updates of AWStats the servers are non-responsive or very slow. I do host sites that have a lot of hits but most of the sites I host are average sites.

I removed AWStats from all my servers because it was causing problems (mainly security issues) and my customers were starting to complain.

You might clasify the 1 server as extreeme but I know several other people hosting more domains one a single server especially companies how host unlimited reselleraccounts on DA. My opinion is that whatever package is used it should not ever cause a server to become non-responsive.

I for one would not be happy if DA uses AWStats as default.
 
Probably should either stop running P3's or find a qualified admin to tune em..lol...like I said, we've been running it on all our servers for several weeks now with 200+ sites and not a problem on P4 2.8's or the Dual XEON's

Looking at MRTG, the backups cause a 5x more spike in CPU then AWStats does.
 
I haven't been able to run Awstats properly for a long time. A lot of the info is dropped.

How do I make sure that I run Awstats right before the DA tally, to get as much as the logfile as possible?
 
in: /etc/cron.d/directadmin_cron

Replace

PHP:
10 0 * * * root  echo 'action=tally&value=all' >> /usr/local/directadmin/data/task.queue

with

PHP:
10 0 * * * root /usr/local/directadmin/plugins/awstats/hooks/cgi-bin/awstats_updateall.pl now -awstatsprog=/usr/local/directadmin/plugins/awstats/hooks/cgi-bin/awstats.pl &&  echo 'action=tally&value=all' >> /usr/local/directadmin/data/task.queue

This way the awstats updates run before the webalizer and tally and log rolls..
 
security issues? You know you can get awstars to generate a static html page for each site instead of generating the html dynamically each time its accessed.

Frankly, if you have a lot of sites, I would expect you to use that option, every night calculate the report and output the static html page which is placed in the site's logs directory for subsequent viewing. You don't even have to have perl running as a cgi-accesible language that way.

oh, as an aside: if DA supported Awstats *or* Webalizer then you wouldn;t have to run the stats generation twice - currently with the cron modifications that are posted here, you run awstats, and then run webalizer as well. This is a little inefficient :-)
 
Last edited:
Back
Top