my.cnf en php.ini
Ik heb een website die, via cronjobs, elk uur reizen ophaalt. De databank is ongeveer 700MB groot. Bij grote feeds, loopt de cron al eens vast, dan krijg ik een internal server error en moet ik mysql weer herstarten en vervolgens de database repareren.
Ik heb geprobeerd om my.cnf en php.ini aan te passen om de problemen op te lossen, maar het lukt niet echt. Ik heb alles weer zo goed als standaard gezet.
Ik heb een dedicated server met volgende eigenschappen:
Intel(R) Xeon(R) CPU X3220 @ 2.40GHz
Vendor ID GenuineIntel
Processor Speed (MHz) 2400.000
Total Memory 8052728 kB
Free Memory 2005072 kB
Total Swap Memory 4192956 kB
Free Swap Memory 4192812 kB
Apache 2.2.22 Running
DirectAdmin 1.41.1 Running
Exim 4.77 Running
MySQL 5.1.63 Running
Named 9.3.6 Running
ProFTPd 1.3.3c Running
sshd *** Stopped ***
dovecot 2.1.9 Running
Php 5.3.15 Installed
Weet iemand hoe ik my.cnf en php.ini best configureer?
Bedankt!
Groetjes
Wat versta je onder een grote feed? EN wat meldt de 500-error in zijn log?
Soms staat er "feedcron - headers already sent"
Er staan ook allemaal undefined errors tussen: "PHP Notice: Undefined offset 10" of "PHP Notice: Undefined offset 11" of "PHP Notice: Undefined index: q" of nog andere undefined notices.
Een grote feed is bv een productfeed in xml van 130MB
de my.cnf staat momenteel als volgt:
[mysqld]
local-infile=0
skip-locking
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=2
myisam_sort_buffer_size=64M
server-id=1
[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
#safe-updates
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout
De php.ini kan ik moeilijk plakken, aangezien dat grote files zijn...
Toevoeging op 13/09/2012 18:02:03:
Ik heb de commentaar uit php.ini verwijderd en geupload. Je kan hem bekijken via: http://www.reis-zoeken.com/phpini.txt
Gewijzigd op 13/09/2012 17:57:46 door Tiff DV
Ik heb het idee dat de errors met het script te maken hebben.
Ik heb verschillende sites lopen die met verschillende scripts werken en de meldingen worden op alle sites gegeven, dus met het script kan het niet te maken hebben. Als iemand weet hoe ik php.ini en my.cnf optimaal kan configureren dan ben ik al heel tevreden!
Quote:
Ik heb verschillende errors
Soms staat er "feedcron - headers already sent"
Er staan ook allemaal undefined errors tussen: "PHP Notice: Undefined offset 10" of "PHP Notice: Undefined offset 11" of "PHP Notice: Undefined index: q" of nog andere undefined notices.
Soms staat er "feedcron - headers already sent"
Er staan ook allemaal undefined errors tussen: "PHP Notice: Undefined offset 10" of "PHP Notice: Undefined offset 11" of "PHP Notice: Undefined index: q" of nog andere undefined notices.
Deze errors wijzen op een fout in het script, of ontbrekende php extensions.
Zonder meer info is dit niet te achterhalen (betreffende script en phpinfo output, en de error logs van mysql, httpd).
.
Er staan niet meer errors in. Ik werk met verschillende scripts van verschillende makers en ik krijg de fouten overal. Er werd mij aangeraden om de files my.cnf en php.ini te optimaliseren. Dit is dan ook mijn vraag.
Sowieso is een database van 700mb echt niet groot ofzo, op mijn werk is de database in SQL en ingepakt in een TAR archive 47GB ;) DAT is pas groot :P
Alvast heel erg bedankt!
logging toe.
Ik zou debuggen en solven kijken waar het script stopt. Voeg eventueel Toevoeging op 13/09/2012 23:59:29:
Mijn vraag is eigenlijk gewoon wat de beste configuratie is voor php.ini en my.cnf met de serverspecificaties die ik bovenaan vermeld heb, zodat de crons goed draaien (ook grote crons) en de website ook nog snel gaat. Als ik een internal server error krijg en ik wil mijn databank repareren, krijg ik bv ook een internal server error omdat hij niet genoeg tijd heeft.
Wat ik je kan aanraden is om het mysql-tuner perl script te draaien. Die analyseert je server configuratie voor MySQL en zal daarop aanbevelingen doen die in mijn geval bijna altijd goed uitpakte.
Code (php)
1
2
2
wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl
perl mysqltuner.pl
That's it ;)
Gewijzigd op 14/09/2012 00:09:25 door kees Schepers
Tnx, da's een handige tool! Alles stond ongeveer goed...