http {
upstream storage_backend {
http://storage.example.com:80;
keepalive 256 single;
}
proxy_cache_path /opt/cache levels=1:2 keys_zone=images:256m inactive=4h max_size=20G;
server {
listen 80;
server_name example.com;
# image serving location
location /images/ {
# images path
root /data/www;
# if there is no image - let's fetch it
error_page 404 = @fetch;
}
# image fetching location
location @fetch {
internal;
# passing request to storage
proxy_pass http://storage_backend;
# setting up caching:
# - key for caching
proxy_cache_key $request_uri;
# - minimal request to store image in cache
proxy_cache_min_uses 7;
# - How long will valid response from storage will be valid, 4 days for example
proxy_cache_valid 200 4d;
}
}
}
Запросы висят в очереди: waiting in InnoDB queue. Это означает, что они ждут, когда
InnoDB освободится от работы с другими запросами (которые работают и не ждут).
Количество одновременно работающих в InnoDB запросов настраивается параметром
innodb_thread_concurrency. Но сильно повышать этот параметр не стоит — снизите
общую производительность системы, а проблему не решите. Надо смотреть, что за
запросы работают, и что с ними делать.
#!/bin/sh -e
#============================================================================#
# Конвертация видео в группу файлов (в т.ч. ускоренное воспроизведение #
# ускорение производится фиксированно в 1.6 раз #
#============================================================================#
# (C) Denis Smirnov <mithraen@freesource.info> http://mithraen.ru/ #
#============================================================================#
IN="$1"
if [ ! -f "$IN" ]; then
exit -1
fi
IN=$(realpath "$IN")
dir=$(dirname "$IN")
cd "$dir"
# каталог, куда отправляем результат
outdir=${IN%.*}
mkdir -p $outdir
# делаем копию оригинального файла
ln "$IN" $outdir/original
# извлекаем звук (конвертируя сразу же в wav)
avconv -i "$IN" -vn -y $outdir/in.wav
# извлекаем видео
avconv -i "$IN" -an -y -vcodec copy $outdir/in.mkv
# конвертируем видео в ускоренный вариант и сразу конвертируем в lossless H.264
avconv -i "$outdir"/in.mkv -vf setpts=0.625*PTS -an \
-vcodec libx264 -pre:v lossless_ultrafast \
"$outdir"/fast.mkv
# конвертируем аудио в ускоренный формат
echo "Audio file converting -- tempo"
sox "$outdir"/in.wav "$outdir"/fast.wav tempo 1.6
# конвертируем ускоренное аудио в mp3
sox "$outdir"/fast.wav "$outdir"/fast.mp3
avconv -i "$outdir"/fast.mkv -i "$outdir"/fast.mp3 -acodec copy -vcodec copy "$outdir"/out-fast.mkv
header('Content-type: text/plain; charset=windows-1251');
$text = 'Ìàðèíà';
$text = iconv("utf-8", "windows-1252", $text);
echo $text;
Прежде всего, для того, чтобы использовать Node.js, необходимо иметь под рукой работающую*nix-подобную операционную систему. Рекомендуется Linux или OSX, но также могут подойти FreeBSD или cygwin (под windows). В настоящее время ведутся работы над портированием Node.js под windows, но пока они не доведены до стабильного состояния.