Ho un piccolo server Centos7 con 500M RAM 1.8 GHz e ad un certo punto devo scaricare un csv e inserirlo nel db con la seguente procedura:
function do_import($id_import,$filename){
if ( isset($_SERVER['REMOTE_ADDR']) === false ) $_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$contents = fopen('./uploads/'.$filename,"r");
while (($row = fgetcsv($contents, 300000, ",")) !== FALSE) {
$data = array(
'id_import' => $id_import,
'asset_id' => $row[0],
'asset_channel_id' => $row[2],
'custom_id' => $row[3],
'asset_title' => $row[4],
'country' => $row[5],
'total_views' => $row[6],
'ad_enabled_views' => $row[11],
'ad_requested_views' => $row[8],
'watch_page_views' => $row[7],
'embedded_page_views' => $row[8],
'channel_page_video_views' => $row[11],
'gross_youtube_sold_revenue' => $row[15],
'gross_partner_sold_revenue' => $row[13],
'gross_adsense_sold_revenue' => $row[14],
'total_earnings' => $row[23],
'net_youtube_sold_revenue' => $row[20],
'net_adsense_sold_revenue' => $row[19]
);
$this->db->insert('yt_reports', $data);
}
$query = 'UPDATE yt_imports SET processed = 1 WHERE id = '.$id_import;
$this->db->query($query);
}
Il problema è che mi da il seguente errore:
Error Number: 2013
Lost connection to MySQL server during query
Sarà una settimana che cerco una soluzione su google, cambiando varie variabili e altro.
Vorrei sapere se avete qualche consiglio o mi tocca aumentare cpu o ram del server?
Il csv è di soli 30Mb, più piccoli di questa dimensione non danno problemi.
Grazie mille in anticipo