my.cnf en php.ini

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tiff DV

Tiff DV

13/09/2012 17:03:01
Quote Anchor link
Hallo,

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
 
PHP hulp

PHP hulp

10/11/2024 13:54:23
 
- Ariën  -
Beheerder

- Ariën -

13/09/2012 17:05:01
Quote Anchor link
Wat versta je onder een grote feed? EN wat meldt de 500-error in zijn log?
 
Tiff DV

Tiff DV

13/09/2012 17:28:11
Quote Anchor link
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.

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
 
- SanThe -

- SanThe -

13/09/2012 19:22:47
Quote Anchor link
Ik heb het idee dat de errors met het script te maken hebben.
 
Tiff DV

Tiff DV

13/09/2012 19:43:35
Quote Anchor link
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!
 

13/09/2012 20:18:37
Quote Anchor link
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.

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).
.
Gewijzigd op 13/09/2012 20:19:48 door
 
Tiff DV

Tiff DV

13/09/2012 20:28:32
Quote Anchor link
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.
 
Kees Schepers

kees Schepers

13/09/2012 22:49:55
Quote Anchor link
Sowieso kan je MySQL configuratie wel beter maar daar ligt het probleem niet. Is het niet je max_execution_time setting? En bijvoorbeeld memory_limit etc.

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
 
Tiff DV

Tiff DV

13/09/2012 22:54:46
Quote Anchor link
Ik weet het, de site is getest op een gewone hosting en daar draait alles prima, dus ligt het aan mijn server settings. Ik heb al zitten experimenteren met de de max_exection_time en memory_limit, maar telkens zonder resultaat. Ik denk dat sommige dingen verkeerd op elkaar afgestemd staan als ik "experimenteer". Hoe zou jij de settings in de 2 files zetten?

Alvast heel erg bedankt!
 
Kees Schepers

kees Schepers

13/09/2012 23:15:39
Quote Anchor link
Ik zou debuggen en solven kijken waar het script stopt. Voeg eventueel logging toe.
 
Tiff DV

Tiff DV

13/09/2012 23:23:40
Quote Anchor link
Het script stopt niet echt, het geeft een internal server error als het bv te weinig tijd ofzo heeft of omdat het bestand te groot is. Ik kan niks veranderen of toevoegen aan het script omdat ik de eigenaar niet ben van het script.

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.
 
Kees Schepers

kees Schepers

14/09/2012 00:08:58
Quote Anchor link
Niemand kan jou zomaar de meest ideale server instellingen geven. Hiervoor zul je moeten tweaken en testen. Wel kun je MySQL instellingen nog flink opschroeven gezien de machine 8GB aan memory heeft. Ik weet niet of je database InnoDb of MyISAM gebruikt maar je kan de key_buffer in ieder geval flink ophogen (naar minimaal 1024mb) en join_buffer, query_cache, etc.

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
wget https://raw.github.com/rackerhacker/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl


That's it ;)
Gewijzigd op 14/09/2012 00:09:25 door kees Schepers
 
Tiff DV

Tiff DV

17/09/2012 08:29:04
Quote Anchor link
Tnx, da's een handige tool! Alles stond ongeveer goed...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.