Скрипт загрузки дампов MySQL

Дата: 10.08.2017Метки:

На загрузку большого количества дампов MySQL требуется не мало времени. Небольшой скрипт значительно облегчит эту задачу. Скрипт необходимо скопировать в каталог с дампами, затем проверить что бы в MySQl не было баз сходных по имени с восстанавливаемыми из дампа. После запуска скрипт автоматически зальет все дампы.

#!/bin/bash -   
#title          :mysql-dbs-restore.sh
#description    :This script will Script to restore multiple DB to mysql from .sql files;
#		 asumes the dbname is the name of the .sql file
#author         :Sergio Aguilar
#date           :20120518
#version        :0.0.1  
#usage          :./mysql-dbs-restore.sh
#notes          :       
#bash_version   :4.2.24(1)-release
#============================================================================

# Config Variables:
USER="root"
HOST="localhost"

# Read mysql root password:
echo -n "Type mysql root password: "
read -s PASS
echo ""

# Extract files from .gz archives:
function gzip_extract {

  for filename in *.gz
    do
      echo "extracting $filename"
      gzip -d $filename
    done
}

# Look for sql.gz files:
if [ "$(ls -A *.sql.gz 2> /dev/null)" ]  ; then
  echo "sql.gz files found extracting..."
  gzip_extract
else
  echo "No sql.gz files found"
fi

# Exit when folder doesn't have .sql files:
if [ "$(ls -A *.sql 2> /dev/null)" == 0 ]; then
  echo "No *.sql files found"
  exit 0
fi

# Get all database list first
DBS="$(mysql -u $USER -h $HOST -p$PASS -Bse 'show databases')"

echo "These are the current existing Databases:"
echo $DBS

# Ignore list, won't restore the following list of DB:
IGGY="test information_schema mysql"


# Restore DBs:
for filename in *.sql
do
  dbname=${filename%.sql}
  
  skipdb=-1
  if [ "$IGGY" != "" ]; then
    for ignore in $IGGY
    do
        [ "$dbname" == "$ignore" ] && skipdb=1 || :
        
    done
  fi      

  # If not in ignore list, restore:
  if [ "$skipdb" == "-1" ] ; then
  
    skip_create=-1
    for existing in $DBS
    do      
      #echo "Checking database: $dbname to $existing"
      [ "$dbname" == "$existing" ] && skip_create=1 || :
    done
  
    if [ "$skip_create" ==  "1" ] ; then 
      echo "Database: $dbname already exist, skiping create"
    else
      echo "Creating DB: $dbname"
      mysqladmin create $dbname -u $USER -p$PASS
    fi
    
    echo "Importing DB: $dbname from $filename"
    mysql $dbname < $filename -u $USER -p$PASS
  fi    
done

Скрипт взят с GitHub

phpbb_sessions’ is marked as crashed and should be repaired

Дата: 21.06.2017

Вот недавно после некорректной перезагрузки сервера, где установлен форум phpBB словил вот такую ошибку:

General Error
SQL ERROR [ mysqli ]

Table '.\forum\phpbb_sessions' is marked as crashed and should be repaired [145]

An sql error occurred while fetching this page. Please contact an administrator if this problem persists.

Лечится очень просто. Для этого необходимо выполнить команду восстановление таблицы:

REPAIR TABLE phpbb_sessions;

Самые низкие цены на регистрацию доменов

Я уже ранее рассказывал, что самые лучшие и недорогие VPS, которые мне приходилось использовать я беру у PowerVPS. Сегодня я расскажу, где можно зарегистрировать домен по самой низкой цене. Представляю вам сервис Domcomp, который поможет найти самые низких цены на регистрацию доменов среди более чем 30 наиболее известных регистраторов. Что касается доменных зон, то тут их просто огромное количество.

Еще Domcomp поможет обезопасить себя от таких подводных камней, как завышенные цены на продление домена. Во время промо-акций сервис отобразить информацию о скидках и купонах. Отдельно промаркированы регистраторы, которые предоставляют бесплатный сертификат и WHOIS privacy к домену.

VirtualBox: cannot register the hard disk

Случается, что необходимо перенести файл образа виртуального диска в другое расположение в пределах одного локального компьютера. Если переместить файл образа VirtualBox и попытаться снова подключить его к виртуальной машине, вы получите следующую ошибку:

Не удалось открыть файл виртуального жёсткого диска /home/disck.vdi
Cannot register the hard disk '/home/disck.vdi' with UUID {UUID} because a hard disk '/home/old.vdi' with UUID {UUID} already exists.

В отличии от VMware в VirtualBox процесс переноса образа диска немного отличается. Для решения проблемы открываем VirtuaBox — меню File — Virtual Media Manager и удаляем перемещенный образ из реестра. Затем переходим в настройки виртуальном машины, в меню Storage снова подключаем образ виртуального диска.

chroot: failed to run command /bin/zsh

Дата: 04.02.2017

Для авторизации по ssh привык использовать ключи. И вот в один прекрасный день пришлось сбросить пароль root. Доступа по ssh к серверу не было, а под рукой был только загрузочный образ SystemRescueCd. После команды монтирования получил следующую ошибку:

chroot /mnt
chroot: failed to run command '/bin/zsh'  no such file or directory

В данном случае проблема связана с тем, что chroot пытается использовать zch качестве командной оболочки. На установленной у меня системе zch не используется. Поэтому необходимо указать расположение bash. Для решения проблемы достаточно просто выполнить:

chroot /mnt /bin/bash

Создаем ECDSA сертификаты Let’s Encrypt

Дата: 21.07.2016

Как показывает практика, использование ECDSA сертификатов позволяет добиться примерно в два раз большего количества соединений на одной аппаратной платформе. К недостаткам использования ECDSA сертификатов следует отнести проблему с поддержкой браузерами. Но данная проблема легко решается если мы будем использовать ECDSA и RSA сертификаты одновременно.

Перед тем как начать проверьте, что в системе установлен git, в противном случае необходимо запустить установку командой:

apt-get install git

Выберите каталог, в который будут загружены файлы клиента Let’s Encrypt. В этой статье я буду использовать каталог /usr/local. Переходим в указанный каталог, а затем загружаем и запускаем клиент Let’s Encrypt:

cd /usr/local
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

Последняя команда установит все необходимые пакеты и выведет справочную информацию для работы с клиентом. Далее вам нужно создать каталог для файлов ключа и сертификата домена:

mkdir -p /usr/local/letsencrypt/live-ecdsa/codebeer.ru/letmp

Перед тем как создать файл ключа, важно правильно выбрать тип кривой. Большинство современных браузеров поддерживает кривые secp256r1, secp384r1, secp521r1. Я буду использовать 256-битная кривую prime256v1, которая по современным меркам обеспечивает достаточной секретности. Список кривых OpenSSL можно вывести командой:

openssl ecparam -list_curves

Создаем приватный ключ:

cd /usr/local/letsencrypt/live-ecdsa/codebeer.ru
openssl ecparam -genkey -name secp256r1 > key-256r1.pem

Теперь создаем свой CSR:

openssl req -new -sha256 -key key-256r1.pem -subj "/CN=codebeer.ru" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:codebeer.ru,DNS:www.codebeer.ru")) -outform der -out csr-256r1.der

Переходим в каталог letmp и создаем ECDSA Let’s Encrypt сертификат:

cd letmp
/usr/local/letsencrypt/letsencrypt-auto certonly -a webroot --email webmaster@codebeer.ru --webroot-path /www/codebeer.ru/ --csr /usr/local/letsencrypt/live-ecdsa/codebeer.ru/csr-256r1.der --renew-by-default --agree-tos

Если вы используете веб-сервер Nginx, то во время создания сертификата клиент Let’s Encrypt вы можете получить такую ошибку:

 Failed authorization procedure. www.codebeer.ru (http-01): urn:acme:error:unauth orized :: The client lacks sufficient authorization :: Invalid response from htt p://www.codebeer.ru/.well-known/acme-challenge/oVRUfF1DISR8zRpq1Vju4C7XrYm2YULSe 5TVRfmGy64: "<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>", codebeer.ru (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://codebeer.ru/.well -known/acme-challenge/yKovcd-Eemc6ezWUWNKiL3MKgs6htk06lfuQmYeBwdA: "<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>"

IMPORTANT NOTES:
 - The following errors were reported by the server:

 Domain: www.codebeer.ru
 Type: unauthorized
 Detail: Invalid response from
 http://www.codebeer.ru/.well-known/acme-challenge/oVRUfF1DISR8zRpq1Vju4C7XrYm 2YULSe5TVRfmGy64:
 "<html>
 <head><title>403 Forbidden</title></head>
 <body bgcolor="white">
 <center><h1>403 Forbidden</h1></center>
 <hr><center>"

 Domain: codebeer.ru
 Type: unauthorized
 Detail: Invalid response from
 http://codebeer.ru/.well-known/acme-challenge/yKovcd-Eemc6ezWUWNKiL3MKgs6htk0 6lfuQmYeBwdA:
 "<html>
 <head><title>403 Forbidden</title></head>
 <body bgcolor="white">
 <center><h1>403 Forbidden</h1></center>
 <hr><center>"

 To fix these errors, please make sure that your domain name was
 entered correctly and the DNS A record(s) for that domain
 contain(s) the right IP address.

В этом случае вам нужно добавить в конфиг виртуального следующие строки:

location ~ /.well-known {
    allow all;
}

Если все прошло успешно, в каталоге letmp появятся следующие файлы:

0000_cert.pem  0000_chain.pem  0001_chain.pem

Копируем их содержимое в один файл:

cat 0001* > /usr/local/letsencrypt/live-ecdsa/codebeer.ru/chain.pem

Теперь необходимо указать путь к сертификату и ключу в конфиге nginx:

ssl_certificate /usr/local/letsencrypt/live-ecdsa/codebeer.ru/chain.pem;
ssl_certificate_key /usr/local/letsencrypt/live-ecdsa/codebeer.ru/key-256r1.pem;

Удалить все таблицы из базы MySQL

Дата: 24.06.2016Метки:

Во время работы с MySQL может возникнуть необходимость удалить сразу все таблицы из базы. С такой задачей приходится сталкиваться достаточно редко. Поэтому чаще всего для удаления таблицы используют команду drop table, а затем через запятую перечисляют список всех таблиц. Когда нужно удалить не один десяток таблиц, данный метод будет не самым лучшим выбором.

drop table table1, table2, table3;

Поэтому если таблиц много, то удобнее всего удалить сразу всю базу целиком. Проблема заключается в том, что затем вам придется снова создать эту базу. А с этим могут возникнуть трудности, если у вас нет доступа к учетной записи пользователя root.

drop database database_name;

Как быть и что делать в этой ситуации? Самый простой способ сразу удалить все таблицы из базы MySQL — использовать утилиту mysqldump:

mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]

Вместо переменных, которые указаны в квадратных скобках, вам необходимо указать свои данные.

Изменить пароль пользователя MySQL

Дата: 24.06.2016Метки:

Небольшая заметка на тему как изменить пароль пользователя MySQL. Мне не часто приходится менять пароли, но решил добавить эту заметку связи с тем, что даже для такой простого действия MySQL есть несколько решений. Для начала из под консоли сервера выполните команду:

mysql -uroot -p

Чтобы изменить свой пароль, а точнее пароль пользователя под которым выполнена авторизация, в консоли MySQL нужно просто выполнить команду:

SET PASSWORD = PASSWORD('пароль')

Когда необходимо изменить пароль для другого пользователя MySQL, нужно использовать команду:

SET PASSWORD FOR 'mysqluser'@'localhost' = PASSWORD('пароль');
SET PASSWORD FOR 'mysqluser'@'%' = PASSWORD('пароль');

Первая команда отличается от второй тем, что пользователю mysqluser будет разрешена авторизация только с localhost. В плане безопасности это более предпочтительный вариант.

Аналогичное действие можно выполнить с помощью запроса SQL:

UPDATE mysql.user SET Password=PASSWORD('пароль') WHERE User='mysqluser' AND Host='localhost';
FLUSH PRIVILEGES;

Сохранить изображение в PDF на C#

Дата: 23.03.2016Метки:

Сегодня расскажу как написать простую программу на C#, которая будет выполнять преобразование изображений в PDF. Все началось с того, что мне понадобилось перевести в PDF большое количество изображений. Нужно было группировать и сохранять изображения в отдельный PDF-документ. Для этого я попытался использовать готовые решения, но несмотря на кажущуюся простоту, процесс быстро утомлял и требовал достаточно много времени.

Я уже давно не занимаюсь разработкой на C#, поэтому для конвертации изображений в PDF взял первую попавшуюся мне библиотеку — iTextSharp. Ничего не могу сказать про ее возможности, я использовал только базовый функционал. Но в плане производительности библиотека зарекомендовала себя вполне неплохо.

Создайте новый проект и подключите библиотеку itextsharp.dll. Укажите в программе пространства имен:

using iTextSharp;
using iTextSharp.text.pdf;

Для своей задачи я использовал группировку файлов по маске на основе названия файла. Для лучшей наглядности, приведу самый простой вариант, когда необходимо преобразовать в PDF все изображения. При необходимости вы сможете быстро переписать этот код под свои потребности.

Для начала запишем в массив путь ко всем изображениям в каталоге. Чтобы получить список только файлов изображений, создадим специальный фильтр на основе расширения файла:

string folder;
string[] images;

DialogResult result = folderBrowserDialog1.ShowDialog();
if (result == DialogResult.OK)
{
    folder = folderBrowserDialog1.SelectedPath;
    images = Directory.GetFiles(folder);

    var files = Directory.EnumerateFiles(folder, "*.*", SearchOption.AllDirectories)
               .Where(s => s.EndsWith(".jpg") || s.EndsWith(".tif"));
    textBox1.Text = folderBrowserDialog1.SelectedPath;
}

Далее идет код для преобразования изображений в PDF:

private void ImgToPdf(string folder, string[] images)
{
    // Создаем документ
    var document = new Document(iTextSharp.text.PageSize.A4, 25, 25, 25, 25);
    using (var stream = new FileStream(folder + "\\document.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
    {
        PdfWriter.GetInstance(document, stream);
        document.Open();

        // Проходим по всем изображениям в каталоге
        foreach (var image in images)
            {
                using (var imageStream = new FileStream(image, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
                {
                    var page = iTextSharp.text.Image.GetInstance(imageStream);

                    // Размеры изображения
                    float width = page.Width;
                    float height = page.Height;

                    if (width < height)
                    {
                        // Книжная
                        document.SetPageSize(iTextSharp.text.PageSize.A4);
                    }
                    else
                    {
                        // Альбомная
                        document.SetPageSize(iTextSharp.text.PageSize.A4.Rotate());
                    }

                    document.NewPage();

                    // Масштабируем размеры изображения под параметры страницы
                    if (width < height)
                    {
                        // Для книжной ориентации
                        if (page.Height > iTextSharp.text.PageSize.A4.Height - 25)
                        {
                            page.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25);
                        }
                        else if (page.Width > iTextSharp.text.PageSize.A4.Width - 25)
                        {
                            page.ScaleToFit(iTextSharp.text.PageSize.A4.Width - 25, iTextSharp.text.PageSize.A4.Height - 25);
                        }
                    }
                    else
                    {
                        // Для альбомной ориентации
                        if (page.Height > iTextSharp.text.PageSize.A4.Height - 25)
                        {
                            page.ScaleToFit(iTextSharp.text.PageSize.A4.Height - 25, iTextSharp.text.PageSize.A4.Width - 25);
                        }
                        else if (page.Width > iTextSharp.text.PageSize.A4.Width - 25)
                        {
                            page.ScaleToFit(iTextSharp.text.PageSize.A4.Height - 25, iTextSharp.text.PageSize.A4.Width - 25);
                        }
                    }
                    // Добавляем страницу в документ
                    page.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
                    document.Add(page);
            }
        }

        document.Close();
    }
}

Для вызова функции преобразования изображений в PDF используйте код:

ImgToPdf(folder, images);

Чтобы уменьшить размер PDF-файлов на выходе, можно добавить код для сжатия изображений. Но об этом постараюсь написать в следующей статье.

Тест микро-сервера Scaleway

Вчера Scaleway обновил линейку тарифов на свои серверы. Теперь, кроме arm архитектуры можно заказать сервер на базе процессора Intel Avoton. Про существование Scaleway мне известно с момента его основания, но из-за процессоров arm для меня он был практически бесполезен. Но теперь появилась поддержка x86-64, и я не удержался протестировать новые серверы.

Начну с бенчмарка UnixBench, запущенного на сервере со следующими характеристиками: 4 Cores, 8GB RAM, 50GB SSD. В тарифной линейке Scaleway просто указывает количество ядер процессора и при этом не акцентирует внимание на его модели.

Если вникнуть в детали, сервер использует процессор Atom C2550. Лично мне очень нравятся процессоры Avoton. В качестве хранилища Scaleway использует nbd-сервер, со всеми вытекающими из этого недостатками. Если использовать утилиту dd, скорость записи на диск составляет около 150 MB/s. С результатами теста UnixBench вы можете ознакомится ниже.

   BYTE UNIX Benchmarks (Version 5.1.3)

   System: scw-e65790: GNU/Linux
   OS: GNU/Linux -- 4.4.4-std-3 -- #1 SMP Tue Mar 8 17:31:34 UTC 2016
   Machine: x86_64 (unknown)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Atom(TM) CPU C2550 @ 2.40GHz (4787.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 1: Intel(R) Atom(TM) CPU C2550 @ 2.40GHz (4787.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 2: Intel(R) Atom(TM) CPU C2550 @ 2.40GHz (4787.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   CPU 3: Intel(R) Atom(TM) CPU C2550 @ 2.40GHz (4787.8 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization
   20:14:29 up 8 min,  1 user,  load average: 0.42, 0.42, 0.20; runlevel 3

------------------------------------------------------------------------
Benchmark Run: Tue Mar 08 2016 20:14:29 - 20:42:23
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12023541.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1997.5 MWIPS (10.0 s, 7 samples)
Execl Throughput                               2948.7 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        466822.8 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          130023.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1076922.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1181371.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 171680.1 lps   (10.0 s, 7 samples)
Process Creation                               6692.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4089.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1415.1 lpm   (60.0 s, 2 samples)
System Call Overhead                        1715644.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12023541.2   1030.3
Double-Precision Whetstone                       55.0       1997.5    363.2
Execl Throughput                                 43.0       2948.7    685.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     466822.8   1178.8
File Copy 256 bufsize 500 maxblocks            1655.0     130023.7    785.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    1076922.4   1856.8
Pipe Throughput                               12440.0    1181371.1    949.7
Pipe-based Context Switching                   4000.0     171680.1    429.2
Process Creation                                126.0       6692.0    531.1
Shell Scripts (1 concurrent)                     42.4       4089.8    964.6
Shell Scripts (8 concurrent)                      6.0       1415.1   2358.5
System Call Overhead                          15000.0    1715644.4   1143.8
                                                                   ========
System Benchmarks Index Score                                         890.5

------------------------------------------------------------------------
Benchmark Run: Tue Mar 08 2016 20:42:23 - 21:10:19
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       48086188.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     7983.9 MWIPS (10.1 s, 7 samples)
Execl Throughput                               8619.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        507421.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          144153.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1306977.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             4696577.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 649011.6 lps   (10.0 s, 7 samples)
Process Creation                              21121.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  11345.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1748.2 lpm   (60.1 s, 2 samples)
System Call Overhead                        4611936.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   48086188.5   4120.5
Double-Precision Whetstone                       55.0       7983.9   1451.6
Execl Throughput                                 43.0       8619.6   2004.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     507421.4   1281.4
File Copy 256 bufsize 500 maxblocks            1655.0     144153.5    871.0
File Copy 4096 bufsize 8000 maxblocks          5800.0    1306977.4   2253.4
Pipe Throughput                               12440.0    4696577.4   3775.4
Pipe-based Context Switching                   4000.0     649011.6   1622.5
Process Creation                                126.0      21121.3   1676.3
Shell Scripts (1 concurrent)                     42.4      11345.8   2675.9
Shell Scripts (8 concurrent)                      6.0       1748.2   2913.7
System Call Overhead                          15000.0    4611936.7   3074.6
                                                                   ========
System Benchmarks Index Score                                        2101.6

UnixBench выдал результат в 2101 балл. Следует признать, что для выделенного сервера это достаточно скромный показатель. Следует отметить, что за свою цену процессор имеет хорошую производительность, а итоговый результат можно объяснить посредственной скоростью работы файловой системы.

Пользуясь моментом, решил заодно протестировать новый VPS от Scaleway, который судя по цене 2.99 явно позиционирует себя как конкурент OVH. Для работы виртуального сервера выделено 2 ядра Atom C2750, 2GB RAM и SSD-хранилище объемом в 50Gb. Скорость записи на диск аналогична выделенному серверу.

   BYTE UNIX Benchmarks (Version 5.1.3)

   System: scw-8d1a9f: GNU/Linux
   OS: GNU/Linux -- 4.4.4-std-3 -- #1 SMP Tue Mar 8 17:31:34 UTC 2016
   Machine: x86_64 (unknown)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: Intel(R) Atom(TM) CPU C2750 @ 2.40GHz (4787.8 bogomips)
          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 1: Intel(R) Atom(TM) CPU C2750 @ 2.40GHz (4787.8 bogomips)
          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   11:41:32 up 0 min,  1 user,  load average: 0.00, 0.00, 0.00; runlevel 3

------------------------------------------------------------------------
Benchmark Run: Wed Mar 09 2016 11:41:32 - 12:09:24
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       11997789.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1988.9 MWIPS (9.9 s, 7 samples)
Execl Throughput                               2725.6 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        488226.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          137303.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1155855.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1172252.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  71710.5 lps   (10.0 s, 7 samples)
Process Creation                               4063.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3872.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    852.6 lpm   (60.0 s, 2 samples)
System Call Overhead                        1710983.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   11997789.1   1028.1
Double-Precision Whetstone                       55.0       1988.9    361.6
Execl Throughput                                 43.0       2725.6    633.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     488226.0   1232.9
File Copy 256 bufsize 500 maxblocks            1655.0     137303.1    829.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    1155855.2   1992.9
Pipe Throughput                               12440.0    1172252.5    942.3
Pipe-based Context Switching                   4000.0      71710.5    179.3
Process Creation                                126.0       4063.9    322.5
Shell Scripts (1 concurrent)                     42.4       3872.9    913.4
Shell Scripts (8 concurrent)                      6.0        852.6   1421.0
System Call Overhead                          15000.0    1710983.2   1140.7
                                                                   ========
System Benchmarks Index Score                                         762.7

------------------------------------------------------------------------
Benchmark Run: Wed Mar 09 2016 12:09:24 - 12:37:16
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables       24101165.8 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3977.8 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4615.2 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        507579.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          146215.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1427126.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             2339280.4 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 220652.3 lps   (10.0 s, 7 samples)
Process Creation                              11975.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   6292.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    884.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        2695262.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   24101165.8   2065.2
Double-Precision Whetstone                       55.0       3977.8    723.2
Execl Throughput                                 43.0       4615.2   1073.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     507579.1   1281.8
File Copy 256 bufsize 500 maxblocks            1655.0     146215.2    883.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    1427126.4   2460.6
Pipe Throughput                               12440.0    2339280.4   1880.5
Pipe-based Context Switching                   4000.0     220652.3    551.6
Process Creation                                126.0      11975.4    950.4
Shell Scripts (1 concurrent)                     42.4       6292.7   1484.1
Shell Scripts (8 concurrent)                      6.0        884.6   1474.3
System Call Overhead                          15000.0    2695262.1   1796.8
                                                                   ========
System Benchmarks Index Score                                        1268.2

К дополнительным возможностям, которые выделяют Scaleway на фоне конкурентов, можно отнести гибкость в управлении томами и ip-адресами. Вы можете легко перенести ip или хранилище одного сервера к другому и при необходимости изменить ip сервера. Если вы решите заказать сервер на базе Atom, я вам советую лучше обратить внимание на сервер DEDIBOX XC.