Boa tarde listeiros,
Estou executando a seguinte rotina para obter os parâmetros de weibull num dado intervalo de velocidades de vento.
Fiz um servidor linux numa placa raspberry pi3 e estou usando MySQL, R, PHP e hospedando um site onde retorno os valores calculados.
A questão é que demora demais para calcular, quase um minuto e meio.
No computador é menos de 10s. Entendo que existe questões de memória e processamento.
Hoje o intervalo de busca no banco de dados é fixo, futuramente vai ser variável, logo, a cada busca demorará 1:30 min para ter a resposta.
A questão é, existe forma de agilizar esse cálculo?
Pensei até em criar um server exclusivo para R, mas não encontrei muito material a respeito.
library(DBI, quietly = TRUE)
library(fitdistrplus, quietly = TRUE)
library(RMySQL, quietly = TRUE)
mydb = dbConnect(MySQL(), user=.........., password=......., dbname=......., host=...................)
rs = dbSendQuery(mydb, "SELECT vento_12m FROM weibull_points WHERE vento_12m >=0 AND vento_12m < 15.75 ORDER BY datetime DESC")
data = fetch(rs, n=-1)
fw = fitdistr(as.numeric(data$vento_12m), densfun = "weibull", lower = 0)
forma= fw$estimate[1]
escala = fw$estimate[2]
query <- paste0("INSERT INTO weibull_curva_12m (fator_forma_k, fator_escala_c) VALUES ('",fw$estimate[1],"','", fw$estimate[2],"')")
grava = dbSendQuery(mydb, query)
dev.off()
--
Leonardo de Oliveira Ferrão
Eletrotécnico - CREA/RS 198702
Administrador - CRA/RS 049456
Engenheiro de Controle e Automação
Universidade Federal de Santa Maria - UFSM
Skype: leonardo.ferrao
Celular (55) 99715-0343
Residencial (55) 3221-6743