Se você está fazendo muitas operações de arquivo, isso faz sentido. Você deve postar algum código das operações de divisão de arquivos.
Quando tento carregar um tamanho de arquivo enorme (aproximadamente 2 GB), o uso da CPU do servidor fica muito alto. O que devo fazer para corrigir isso?
Eu uso apenas o formulário padrão html e php, para o upload de arquivos.
Sinto muito se eu postar no fórum errado. Por favor, me aponte para a direção certa
aqui é o resultado do comando "top" durante o upload de 4 arquivos (18mb, 38mb, 60mb, 33mb)
1904 apache 20 0 33504 5740 1952 R 28.3 0.2 0:02.19 httpd
1905 apache 20 0 33504 5740 1952 R 28.3 0.2 0:01.99 httpd
1903 apache 20 0 33232 6968 3060 R 28.0 0.2 0:01.98 httpd
1910 apache 20 0 33240 6020 2248 S 11.5 0.2 0:02.85 httpd
2133 root 20 0 2656 1124 896 R 1.6 0.0 0:00.71 top
1 root 20 0 2864 1404 1188 S 0.0 0.0 0:03.99 init
o código para chunking, apesar de eu não usar esse código (apenas o upload de um arquivo simples), ele ainda causa esse alto uso cpu
function sendRequest() {
//clean the screen
//bars.innerHTML = '';
var file = document.getElementById('fileToUpload');
for(var i = 0; i < file.files.length; i++) {
var blob = file.files[i];
var originalFileName = blob.name;
var filePart = 0
const BYTES_PER_CHUNK = 100 * 1024 * 1024; // 10MB chunk sizes.
var realFileSize = blob.size;
var start = 0;
var end = BYTES_PER_CHUNK;
totalChunks = Math.ceil(realFileSize / BYTES_PER_CHUNK);
alert(realFileSize);
while( start < realFileSize ) {
if (blob.webkitSlice) {
//for Google Chrome
var chunk = blob.webkitSlice(start, end);
} else if (blob.mozSlice) {
//for Mozilla Firefox
var chunk = blob.mozSlice(start, end);
}
uploadFile(chunk, originalFileName, filePart, totalChunks, i);
filePart++;
start = end;
end = start + BYTES_PER_CHUNK;
}
}
}
Se você está fazendo muitas operações de arquivo, isso faz sentido. Você deve postar algum código das operações de divisão de arquivos.
Tags upload linux filesystems centos