пятница, 8 февраля 2019 г.

SSD диски и чередующийся том (RAID 0)



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

Стоял у меня для данных SSD на 480гб от сандиск и тут увидел что они значительно подешевели, взял еще парочку на 480, получилось почти 1.5 террабайта примерно за 15 тыс. руб.

Один диск в стрипе выдает вот такие результаты







А три уже вот такие

Разница существенная, только вот 4к блоки проседают, видимо связано с адекватностью планировщика диска в виндовс.
Но вообще я это делал с целью объединить все диски в один, надоело это там хранить, это тут, тут вроде музыку собирался, а она не влезла, тут фотки, тоже не влезли, на другой диск, тут виртуальные диски от Hyper-V и опять выросли и нет свободного места, проще объединить в один диск.

Да, в чередующемся томе при поломке одного диска весь массив умрет, но если один большой диск взять, то тоже если он умрет, то полностью, но при чередовании тома три диска дают скорость больше чем один SATA, а стоит это дешевле чем PCI-e.

пятница, 1 февраля 2019 г.

PHPExcel опять проблемы с чтением файла

Так уж получилось, что до сих пор пользуюсь закопанным проектом PHPExcel

И сегодня пилю импортер под непонятного поставщика, файл xlsx, если его пересохранить в офисе, то нормально читается, а исходный же файл не читается, выдает вот такую ошибку

Fatal error: Uncaught PHPExcel_Exception: Cell coordinate can not be zero-length string in PHPEXCEL/PHPExcel/Cell.php:591

Ну полез я по цепочке вызовов, понял что в какой то момент идет вызов
PHPExcel_Cell::coordinateFromString($r)
где $r - пустая строка...

В файле PHPExcel/Reader/Excel2007.php на 818 строке находим строку с получением координат, перед ней дописываем строчку 

if ($r=="") continue;

 Получаем в итоге такое










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


Если кому интересна моя пропатченная версия PHPExcel, адекватно читающая и генерирующая разные файлы на PHP7.2 - могу выложить, но так вообще лучше пользоваться продолжением этого проекта - PhpSpreadshee, PHPExcel уже заброшенный проект с кучей недоработок...