Database ander pakket lezen

Technische problemen? Hier kun jij jouw vragen stellen!
Forumregels
Check eerst onze helpsectie (https://www.antagonist.nl/help) voordat je hier een vraag stelt. Voor de meeste vragen hebben we uitgebreide handleidingen met uitleg.
Plaats reactie
martijn_
Berichten: 9
Lid geworden op: 19 mar 2016, 21:34

Database ander pakket lezen

Bericht door martijn_ » 14 jan 2021, 22:47

Hallo,

Ik heb twee hostingpakketen bij jullie. Ik wil vanuit het ene pakket met PHP een database uit het andere pakket uitlezen. Kan dat 'binnendoor', dus niet via internet, maar direct lezen van server naar server? Net zoals lokale databases dus?

Ik heb nu een oplossing via cURL gemaakt ('buitenom' dus), maar dat is omslachtig. Bovendien krijg ik recent cURL timeouts, terwijl het voorheen wel werkte. Liever doe ik het dus op een directere manier.

Alvast bedankt,
Martijn

Joris de Leeuw
Antagonist staff
Berichten: 1311
Lid geworden op: 13 feb 2016, 20:15

Re: Database ander pakket lezen

Bericht door Joris de Leeuw » 15 jan 2021, 15:07

Beste Martijn,

Graag denk ik met je mee!

Al het verkeer tussen onze servers gaat binnen ons eigen netwerk intern. Het gaat enkel door onze eigen apparatuur en switches. Het komt dus niet in aanraking met de buitenwereld en het 'echte' internet.

Wel blokkeert MySQL standaard inkomende verbindingen vanaf andere systemen. Ook dus als het om een andere server gaat bij Antagonist. Dit is inherent aan de werking van MySQL.

Om een verbinding op te kunnen bouwen kan je een uitzondering toevoegen voor het IP-adres van de andere server die de verbinding opvraagt naar de database. Hoe dat werkt is te lezen op: https://www.antagonist.nl/help/nl/webho ... base#hosts

Zodra je dit hebt gedaan kan je wel over poort 3306 direct een MySQL verbinding opbouwen naar de server met de database.

Merk op dat je hierdoor enige overhead creëert, gezien er geen directe socket-verbinding plaats vindt binnen het pakket zelf, maar een TCP-verbinding tussen twee systemen.
Al zal je dit bij het overzetten/verhuizen van data niet heel veel van merken raden we ten zeerste af voor productie doeleinden je database op een andere systeem te draaien dan je website.
Met vriendelijke groet,

Joris de Leeuw
Antagonist staff

martijn_
Berichten: 9
Lid geworden op: 19 mar 2016, 21:34

Re: Database ander pakket lezen

Bericht door martijn_ » 15 jan 2021, 20:35

Ah, dat is precies wat ik nodig heb! Het gaat om ~1x per etmaal ~200kB aan data om twee aparte systemen te syncen, bv. 's nachts via cron. Enige overhead dus niet zo'n probleem.

Maar... het gaat net als via cURL weer ontzettend traag. Een test met 10x een hele kleine eenvoudige query van 10 rows duurt remote gemiddeld 10.000x zo lang. De eigenlijke query die ik wil gebruiken (~200kB resultaat) komt er remote helemaal niet door net als bij cURL.

Beide pakketten hebben eigenlijk te weinig resources voor wat ik er heb draaien (ik ga binnenkort alles upgraden) maar ik zie tijdens deze tests geen rare dingen bij resource usage.

Enig idee waarom het zo traag gaat?

PHP code op deb36694, database op deb36694n4:

Code: Selecteer alles

here we go
10 rows fetched in 0.45099 sec
10 rows fetched in 3.06381 sec
10 rows fetched in 0.00238 sec
10 rows fetched in 13.27155 sec
10 rows fetched in 0.00272 sec
10 rows fetched in 4.64542 sec
10 rows fetched in 3.00953 sec
10 rows fetched in 1.69343 sec
10 rows fetched in 2.89579 sec
10 rows fetched in 1.00747 sec
3.00433 sec average.
PHP code en database beiden op deb36694n4:

Code: Selecteer alles

here we go
10 rows fetched in 0.00068 sec
10 rows fetched in 0.00028 sec
10 rows fetched in 0.00027 sec
10 rows fetched in 0.00021 sec
10 rows fetched in 0.00022 sec
10 rows fetched in 0.00023 sec
10 rows fetched in 0.00019 sec
10 rows fetched in 0.0002 sec
10 rows fetched in 0.00023 sec
10 rows fetched in 0.00019 sec
0.00028 sec average.

martijn_
Berichten: 9
Lid geworden op: 19 mar 2016, 21:34

Re: Database ander pakket lezen

Bericht door martijn_ » 20 apr 2021, 14:47

Mijn pakket deb36694 is recent geüpgrade van Basic naar Slim. Het andere pakket deb36694n4 was al Plus. Beide 'moderne' pakketten dus.

Maar een heel eenvoudige query van het ene pakket naar de database op het andere pakket gaat nu nog trager! 30 seconden voor een test van 10 rows. Dat is dus niet werkbaar.

Enig idee hoe dat komt en hoe het te verhelpen?

Martijn

Plaats reactie