понедельник, 9 февраля 2015 г.

Как ускорить работу iMac малой кровью.


"Практика" - просто и дешево:
1. Берем sata3-usb3 box ставим в него SSD не менее 64GB.
 Собранный SATA3-USB3-BOX и коробка от него.

 2. Разбиваем и форматируем "родной" дисковой утилитой. Программы -> Утилиты -> Дисковая утилита. Важно! Нам потребуется "Схема разделов GUID".

 2.1 Выбрать SSD -> выбрать вкладку "Раздел диска".
 2.2 Нажать кнопку "Параметры" в области "Схема разделов:" и выбрать "Схема разделов GUID".
  2.3 В области "Информация о разделе" , набрать имя раздела и выбрать файловую систем Mac OS. Нажать "Применить".

3.  Перезагрузиться, удерживая alt.

3.1 В загрузочном меню выбираем пункт c префиксом "Recovery"


 3.2 В следующем меню нужно выбрать пункт " Переустановить OS X"

3.3 После того, как будет принято лицензионное соглашение и установщик проверит возможность установки, нужно будет выбрать целевой диск установки(SSD диск).

Установка занимает около 20 минут. Когда процесс установки закончится, компьютер перегрузится с SSD. При необходимости в загрузочном меню можно выбрать старый диск и загрузится с HDD(удерживай при загрузке alt).

"Введение" - если вам вдруг станет интересно, как и почему я пришел к такому решению:

При первом знакомстве с iMac, меня разочаровала его производительность. А если точнее - производительность дисковой подсистемы. До того, как он попал мне в руки, я уже пару лет пользовался SSD дисками. А все модели iMac-2013(2014 тоже) кроме топовых(самых дорогих) укомплектованы HDD. А если человек просидел на SSD хотя бы несколько месяцев, ему будет просто физически тяжело работать на HDD.  Было ясно, нужно ставить SSD.

Но проблема в том, что все моно-блоки apple выпуска 2013+ года не так то просто разобрать и еще сложнее собрать обратно. Стекло приклеено, разборных винтов просто нет, все уложено очень плотно(легко повредить). Я нашел в сети несколько роликов, где ребята при помощи фена, гитарных медиаторов, обрезков пластиковых карточек и других подручных средств, разбирают iMac. Нет, этот подход мне, совсем не нравился. Официального сервиса у нас в регионе ,конечно ,нет(если честно, я не уверен в том, что официальный сервис предоставляет такие услуги). Отдавать другим, "не официальным" специалистам, было страшновато, особенно после ознакомления на форумах с подробностями неудачных попыток модификации. В любом случае, все эти варианты  выглядели сомнительно и дорого. 

Шло время, iMac стоял у меня в качестве "второго монитора" , я использовал его для обработки и хранения фото ,  видео ,  других "творческих" задач, которые случаются не так часто. Со временем я пришел к пониманию, что если все это(фото, видео, аудио) я собираюсь хранить на SSD то выйдет слишком дорого. Одних фоток 150GB не говоря уж о аудио/видео. А слот под SATA диск,в этой модели, только один. То есть, если не "колхозить", придеться вынуть терабайтный винт и поставить вместо него 128 или максимум(по бюджету) 256 гиговую ссдеху. Но ее уже будет недостаточно, объем данных уже превысил 256GB.

Обдумывая перспективы, я поначалу "рыл" в сторону thunderbolt sata box, думал повесить на него "родной" терабайтный винт. Но thunderbolt sata box стоит совсем не дешево(~$300-$500+), и как оказалось, не так то их просто купить, то-есть надо было "заказывать". Не найдя ничего подходящего, я оставил эту идею. Да, в то время, с ними была просто беда, сейчас ассортимент стал шире впрочем как и цена :) .
 
Прошло еще какое то время, и однажды, помогая одному хорошему человеку, я освежил знания по спецификации USB. Если честно , я как то всерьез не воспринимал USB, помню, когда то читал о USB3 еще в первых редакциях стандарта(более 5 лет назад) и с тех пор был уверен в том, что стандарт то вроде как бестолковый и довольно унылый. Видимо почитал, поставил где-то в голове крестик и забыл. Однако, внезапно, оказалось, что USB3 уже почти везде и в полный рост. Скорость передачи до 5Gb/s этого достаточно чтобы перекрыть производительность современных SSD, по питанию тоже все отлично, единственное, что меня беспокоило, будет ли реально отрабатывать usb3 sata box эти 5Gb/s и не упрется ли все в какие нибудь подводные камни? Повидал я на своем веку всякое, одно становление стандарта SATA чего стоило, встречались метеринки с шиной 2Gb/s и заявленной SATA3, с USB2 тоже бывали казусы, особенно часто по питанию. Короче говоря, я уже привык слышать заявления, которые на практике почти никогда не бывают оправданы. По этой причине, прямо скажем, я особо не парился, зашел почти в первый попавшийся магазин, спросил что у них есть, и в итоге, взял usb3 stat box примерно за 1000рублей. Как видно, на первой картинке, это вероятно один из самых обычных,  средних, ничем не выделяющийся бокс в море других USB3 боксов для SATA дисков. 

По приходу домой я прогнал на нем несколько тестов , и получил в результате ~410MB/s на чтение и  ~400MB/s запись. Неплохо для 1000 руб. Немного прикинув, я решил попробовать поставить на него систему и поглядеть как это будет работать. Как оказалось, заработало отлично.

Что еще хорошо, при таком подходе, ничего не потерялось, все данные и файлы, установленный софт, доступны из свеже-установленной системы. Да, кое что нужно поднастроить, подкрутить, но в общем случае, можно сразу приниматься за дело. При необходимости, можно перезагрузиться в старую систему. Риск для системы и железа практически отсутствует. В итоге, на сегодняшний день, в соотношении цена/прирост производительности, это решение мне кажется наилучшим.

Минусы тоже есть: например потери по производительности, из-за накладных расходов конвертирования интерфейсов. Хотя порядок этих потерь вряд-ли может быть различим субъективно. Один из USB портов будет постоянно занят. Есть вероятность "выдернуть" "Системный диск" , по ошибке или случайно. Лишний предмет, который будет постоянно лежать на столе(если конечно не придумать куда его спрятать).

P.S.
Конечно если у вас iMac на SSD эта заметка, не для вас.

понедельник, 2 февраля 2015 г.

Памятка по mysql

То, чем изредка, но приходится пользоваться. Просто, чтобы не забыть.

shell: 
Основные опции mysql и mysqldump:

-u[пользователь]
-p[пароль]
-h[хост]
-P[порт]

Копирование базы (содержимого одной базы в другую базу):
mysqldump [OPTIONS] db_name_source | mysql [OPTIONS] db_name_dst
Бекап + gzip на лету:
mysqldump [OPTIONS] db_name | gzip > ./file.sql.gz
Восстановление из gzip:
 gzip -c -d ./file.sql.gz | mysql [OPTIONS] db_name
или
 gunzip < ./file.sql.gz | mysql [OPTIONS] db_name

sql:
Добавить текст к содержимому поля:
UPDATE table_name SET field_name=concat(field_name, '<text>');
Поиск и замена текста:
UPDATE table_name SET field_name = REPLACE(field_name, '<find>', '<replace>');
Выбрать определенное количество символов(в примере 100) из поля. Бывает полезно для составления превьюшек большого числа объемистых 'text' полей:
 SELECT LEFT (text,100) FROM table_name;
Другие строковые функции
 
Быстрый фикс для mysql slave(на свой страх и риск!):

mysql> stop slave;
Query OK, 0 rows affected (0.24 sec)

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status \G