MySQL und Apache Tuning

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

MySQL und Apache Tuning

Postby splitti » 22. February 2008 22:01

Hallo zusammen,

vorab möchte ich erklären, dass ich die Suche benutzt habe und auch Google ;)

Ich habe die Administration eines Windows-Root-Servers mit übernommen wo XAMPP installiert ist mit einer MySQL-DB. Das System ist endlos langsam und ich dachte mir, dass dort der vorherige Admin wohl nie was getuned hat. BINGO. Alle Files die ich finde sind im Grunde noch Auslieferungszustand...

Ich bin nun eher ein Noob in Sachen XAMPP und habe erstmal nach Parametern für die my.cnf gesucht. Viel getestet, viel gemacht, und ich weiß noch nicht mal, ob diese Werte angenommen werden, da ich jetzt gelesen habe, dass wohl bei Windows die my.cnf nur ein Beispiel ist und die richtige Datei im Windows Verzeichnis mit dem Namen my.ini ist.

Da brauche ich vorab schon Hilfe, wo liegen welche Dateien (auch für Apache/PHP).

Im weiteren Schritt wäre es töfte, wenn Ihr allgemein mal Tipps hättet, wie ich den Apache/PHP-Server und der DB etwas mehr Dampf verleihe. Ich denke Caching bringt einiges für ein Forum...

Als Portal ist e107 installiert...

Hoffe nicht als Noob abgestempelt zu werden, ich brauche halt Hilfe... Vielen Dank im voraus!!!
Last edited by splitti on 27. February 2008 22:00, edited 2 times in total.
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby sari42 » 22. February 2008 23:14

xampp benutzt
...xampp\mysql\bin\my.cnf
...xampp\apache\bin\php.ini
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 00:51

Danke, hier die PHP.ini (Apache 2.2.4.0):
Code: Select all
[PHP]
engine = On
asp_tags = Off
precision    =  12
y2k_compliance = On
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
allow_call_time_pass_reference = On
safe_mode = off
safe_mode_gid = off
safe_mode_include_dir =               safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
disable_functions =
disable_classes =
expose_php = On
max_execution_time = 0     ; Maximum execution time of each script, in seconds
max_input_time = 0   ; Maximum amount of time each script may spend parsing request data
memory_limit = 1024M      ; Maximum amount of memory a script may consume (16MB)
error_reporting  =  E_ALL & ~E_NOTICE
display_errors = On
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
error_log = "C:\xampp\apache\logs\phperror.log"
arg_separator.output = "&"
variables_order = "EGPCS"
register_globals = Off
register_argc_argv = On
post_max_size = 1024M
magic_quotes_gpc = On
magic_quotes_runtime = Off   
magic_quotes_sybase = Off
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
include_path = ".;C:\xampp\php\pear\"
doc_root =
user_dir =
extension_dir = "C:\xampp\php\extensions\"
enable_dl = On
file_uploads = On
upload_tmp_dir = "C:\xampp\tmp"
upload_max_filesize = 1024M
allow_url_fopen = On
default_socket_timeout = 60
extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_pdf.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_zip.dll
[Syslog]
define_syslog_variables().
define_syslog_variables  = Off
[mail function]
SMTP = 127.0.0.1
smtp_port = 25
sendmail_from = badmail@meinedomain.de
[Java]
[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1 
odbc.defaultlrl = 4096 
odbc.defaultbinmode = 1 
[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1
[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[dbx]
dbx.colnames_case = "unchanged"
[bcmath]
bcmath.scale = 0
[browscap]
browscap =  "C:\xampp\php\browscap\browscap.ini"
[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0
[Session]
session.save_handler = files
session.save_path = "C:\xampp\tmp"
session.use_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 100
session.gc_maxlifetime = 1440
session.bug_compat_42 = 1
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off
[Assertion]
[Ingres II]
ingres.allow_persistent = On
ingres.max_persistent = -1
ingres.max_links = -1
ingres.default_database =
ingres.default_user =
ingres.default_password =
[Verisign Payflow Pro]
pfpro.defaulthost = "test-payflow.verisign.com"
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
[com]
[Printer]
[mbstring]
[FrontBase]
[Crack]
[exif]
[mime_magic]
[APC] ; eAccelerator alternative
[Zend]
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15


Was mit aufgefallen ist, dass der Server riesen Logs schreibt, was bestimmt auch Performance kostet. Leider weiß ich net wo ich anfangen soll...

my.cnf:
Code: Select all
[client]
port            = 3306
socket          = mysql
[mysqld]
basedir="C:/xampp/mysql"
tmpdir="C:/xampp/tmp"
datadir="C:/xampp/mysql/data"

port            = 3306
socket          = mysql

old-passwords
character-set-server = latin1
collation-server = latin1_general_ci

skip-locking
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

#Update by splitti 20080217
thread_cache = 64
thread_concurrency = 4
#thread_concurrency = 8
query_cache_limit = 4M
query_cache_size = 128M
query_cache_type = 1

server-id   = 1

skip-bdb
skip-innodb

[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
[mysqlhotcopy]
interactive-timeout
[WinMySQLadmin]
Server="C:/xampp/mysql/bin/mysqld.exe"


Zum Server noch ein paar Daten:
Code: Select all
Windows Server 2003 SP 2
AMD Athlon 64 X2 Dual 4200+ 2.20 GHz
2 GB RAM


Die Seite ist wirklich extrem langsam, habe schon versucht bei der mysql-geschichte mit caching vorwärts zu kommen, ohne großen erfolg.

weiterhin zeigt der WinMySqlAdmin die my.ini an, darin sind nur wenige Zeilen Konfiguration vorhanden. Ich weiß nicht so recht, welche Schraube ich zuerst drehen soll...
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby sari42 » 23. February 2008 01:19

>..zeigt der WinMySqlAdmin die my.ini an, darin sind nur wenige Zeilen..
Der Fehler ist bekannt. Ich benutze phpMyAdmin zur Verwaltung.

>Die Seite ist wirklich extrem langsam...
Kann es sein, daß der Athlon 64 die win32 programme ausbremst?

>Ich weiß nicht so recht, welche Schraube ich zuerst drehen soll...
Das Drehen wird nicht soviel bringen, ich würd´ Linux ´draufspielen ...
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 01:27

das wäre mit persönlich auch lieber ;)

das problem ist der haupt"admin", der sich einen windows-root bestellt hat und diesen auch haben will, da er linux net kennt.

ich muss praktisch mit der umgebung leben und hab da keinen einfluß drauf.

was ich definitiv gerne machen würde, dass man möglichst alle logs auf das minimale und wichtigste trimmt. cache-funktionalität wäre auch nicht übel, naja, ansonsten bin ich nicht der große apache oder mysql kenner, da ich eher mit anderen DB's und system arbeite...

mir scheint es so, als ob das alles auch noch die default parameter sind...
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby sari42 » 23. February 2008 10:13

google Stichworte:
"apache log rotate"
"php apc"
"php memcache" (oder memcached)

Ich glaub allerdings nicht, daß die reine Größe der Logfiles die performance stark beeinflußt.

>mir scheint es so, als ob das alles auch noch die default parameter sind...
na und?
Bei mir läuft xampp auf ´ner alten w2k Gurke (<1Mhz) recht flott (ohne cache, nur Sicherheitseinstellungen angepaßt).

Vielleicht ist der IIS ja schneller (oder jemand hat ein ähnliches System und weiß besseren Rat)

Viel Glück
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 11:21

naja, ich glaube nicht, dass der IIS shcneller ist ;)

was mich interessieren würde: die seiten braucht immer genau 20 sekunden bis sie auf einmal lädt und zack ist sie da... immer 20 sekunden wo NIX passiert...
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby Scory » 23. February 2008 11:32

Dann habt ihr aber irgendein anderes "echtes" Problem, das hat nichts mit Tuning zu tun. Irgendetwas ist im gesamten Umfeld (welches wir nicht im Ansatz kennen) krumm - wahrscheinlich noch nicht einmal innerhalb von Apache oder MySQL.
Scory
 

Postby sari42 » 23. February 2008 13:44

DNS-Auflösung?
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 19:46

ich könnt gerne mal schauen:
www.pspsource.de
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby splitti » 23. February 2008 21:34

tja, sowas schlechtes hab ich schon lang net mehr gesehen...

muss dazu sagen, ich surfe seit ein paar tagen per gprs und kann nur bedingt testen, aber dann schaue ich mir den server an und wollte dns mal antesten und stelle fest, dass da ein dns-server eingtragen ist, der down war :(

hab ads nun gefixt, aber das war echt unschön...

naja vielleicht habt ihr dann trotzdem nen paar tipps unabhängig vom dns ;) und vielen dank für den wink mit dem zaun ;)
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby sari42 » 23. February 2008 23:16

wenn Du mit phpmyadmin arbeiten möchtest, solltest Du
a.)
mcrypt in php.ini aktivieren (für cookie auth)
b.)
in config.inc.php $cfg['Servers'][$i]['extension'] = 'mysqli'; benutzen.

p.s.
in der vorher geposteten php.ini ist nicht mal die mysql extension gelisted !?
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 23:25

birgt das nachteile, dass die extension nicht gelistet ist? wie gesagt, bin noobig...
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Postby sari42 » 23. February 2008 23:30

das kann nicht die richtige php.ini sein, frag mal
Code: Select all
<?php //save as info.php
phpinfo();
?>
welche php.ini tatsächlich benutzt ("loaded") wird.
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby splitti » 23. February 2008 23:48

das ist schon die richtige:
http://www.pspsource.de/splitti/info.php
splitti
 
Posts: 21
Joined: 22. February 2008 21:52

Next

Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 14 guests