Re: FreeBSD MySQL Performance Tunning suggestions???

2008-06-04 Thread Joerg Bruehe

Hi all !


VeeJay wrote:

[[...]]

At my job, I am going to build a Web Server with

 1. FreeBSD 7.0-RELEASE amd64
 2. Apache 2.2.8
 3. PHP 4.4.8 (or may be PHP5, what do you suggest?)

Server's hardware configuration is as follow:

 2  x  Quad Core Xeon E5450 3.0GHz,2x6MB,1333FSB
 16GB (8x2GB Dual Rank DIMMs) 667MHz FBD
 6  x  450GB SAS 15k 3.5 HD Hot Plug
 PERC 6/i, Integrated Controller Card x6 backplane
 PE2950 III C5 MSS R10 Add-in PERC 5/i / 6/i 1 S
 TCP/IP Offload Engine 2P
 Broadcom TCP/IP Offload Engine functionality (TOE) Not Enabled

For FreeBSD 7.0-RELEASE amd64 Which MySQL 5.0 would be used ?
 1. FreeBSD 7.x (x86_64)
  or
 2. FreeBSD 6.x (x86)


Your machine has 16 GB of RAM.

If you ever want to use really large caches in the MySQL server process, 
you need to use a 64 bit binary, called x86_64 in the MySQL package 
file names.




I have done some googling and made these configuration files for Apache and
MySQL?

Apache:
httpd.conf-start
[[... file snipped ...]]


MySQL:
my.cnfstart
[[... file snipped ...]]


Is there something you can tune?


You cannot tune without knowing which bottleneck you should widen, and 
how much resources still are available.
IMNSHO, you need to start with some configuration, put load onto it (as 
representative as possible), then watch the system's behavior (take 
measurements !), and only then determine which part you want to improve.


Example: Database caches are good to reduce disk I/O and so to increase 
performance, but you will not increase caches if your system is already 
paging heavily (= your RAM is too small).


There is no need to change any parameter unless
a) its current setting restricts your performance, and you have
   sufficient resources to raise the limit,   or
b) its current setting allocates more resources than needed here,
   which could be used better at some other place.

You need some initial run and measurement to check that.


HTH,
Jörg

--
Joerg Bruehe,  MySQL Build Team,  [EMAIL PROTECTED]
Sun Microsystems GmbH,   Sonnenallee 1,   D-85551 Kirchheim-Heimstetten
Geschaeftsfuehrer: Thomas Schroeder, Wolfgang Engels, Dr. Roland Boemer
Vorsitzender des Aufsichtsrates: Martin Haering Muenchen: HRB161028


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/[EMAIL PROTECTED]



Re: FreeBSD MySQL Performance Tunning suggestions???

2008-06-04 Thread Antony T Curtis

Hi,

FreeBSD 7 should offer much better performance for MySQL. The FreeBSD  
kernel developers have found ways to relieve some of the kernel  
bottlenecks which permit multithreaded applications to operate much  
better.


Regards,
Antony.

On 3 Jun 2008, at 03:43, VeeJay wrote:


Hi Guys

I need some performance tuning suggestions/help from you.

At my job, I am going to build a Web Server with

1. FreeBSD 7.0-RELEASE amd64
2. Apache 2.2.8
3. PHP 4.4.8 (or may be PHP5, what do you suggest?)

Server's hardware configuration is as follow:

2  x  Quad Core Xeon E5450 3.0GHz,2x6MB,1333FSB
16GB (8x2GB Dual Rank DIMMs) 667MHz FBD
6  x  450GB SAS 15k 3.5 HD Hot Plug
PERC 6/i, Integrated Controller Card x6 backplane
PE2950 III C5 MSS R10 Add-in PERC 5/i / 6/i 1 S
TCP/IP Offload Engine 2P
Broadcom TCP/IP Offload Engine functionality (TOE) Not Enabled

For FreeBSD 7.0-RELEASE amd64 Which MySQL 5.0 would be used ?
1. FreeBSD 7.x (x86_64)
 or
2. FreeBSD 6.x (x86)

I have done some googling and made these configuration files for  
Apache and

MySQL?

Apache:
httpd.conf- 
start

# =
# Basic settings
# =
ServerType standalone
ServerRoot /usr/local/apache
PidFile /usr/local/apache/logs/httpd.pid
ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard
ResourceConfig /dev/null
AccessConfig /dev/null
# =
# Performance settings
# =
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
MinSpareServers 5
MaxSpareServers 10
StartServers 5
MaxClients 256
MaxRequestsPerChild 0
# =
# Apache modules
# =
ClearModuleList
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_dir.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_php4.c
AddModule mod_rewrite.c
AddModule mod_security.c
AddModule mod_setenvif.c
# =
# General settings
# =
Port 80
User apache
Group apache
ServerAdmin [EMAIL PROTECTED]
UseCanonicalName Off
ServerSignature Off
HostnameLookups Off
ServerTokens Prod
IfModule mod_dir.c
   DirectoryIndex index.html
/IfModule
DocumentRoot /home/apache/www
# =
# Access control
# =
Directory /
   Options None
   AllowOverride None
   Order deny,allow
   Deny from all
/Directory
Directory /home/apache/www
   Order allow,deny
   Allow from all
/Directory
Directory /home/apache/www/vhosts/mydomain.com/public_html
   Order allow,deny
   Allow from all
/Directory
# =
# MIME encoding
# =
IfModule mod_mime.c
   TypesConfig /usr/local/apache/conf/mime.types
/IfModule
DefaultType text/plain
IfModule mod_mime.c
   AddEncoding x-compress Z
   AddEncoding x-gzip gz tgz
   AddType application/x-tar .tgz
   AddType application/x-httpd-php .html
/IfModule
# =
# Logs
# =
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
ErrorLog /var/apache/logs/error_log
CustomLog /var/apache/logs/access_log combined
# =
# Virtual hosts
# =
NameVirtualHost *
VirtualHost *
   DocumentRoot /home/apache/www/vhosts/mydomain.com/public_html
   ServerName www.mydomain.com
   ServerAlias mydomain.com
   ErrorLog /var/apache/logs/vhosts/mydomain.com/error_log
   CustomLog /var/apache/logs/vhosts/mydomain.com/access_log  
combined

   IfModule mod_rewrite.c
RewriteEngine on
RewriteRule ^/([a-z]{2})/index.html$ /index.html?topicid=$1
   /IfModule
   ErrorDocument 400 /page_error.html
   ErrorDocument 401 /page_error.html
   ErrorDocument 403 /page_error.html
   ErrorDocument 404 /page_error.html
   ErrorDocument 500 /page_error.html
/VirtualHost
# 
# Logging GET/POST requests, defending against
# Cross-Site-Scripting (XSS) and SQL Injection attacks
# 
IfModule mod_security.c
   AddHandler application/x-httpd-php .html

   #Turn the filtering engine On or Off
SecAuditEngine On
   # Only log suspicious requests
SecAuditEngine RelevantOnly
SecAuditLog /var/apache/logs/audit_log
SecFilterScanPOST On
SecFilterEngine On

SecFilterDefaultAction deny,log,status:500