MiniDevicesTop ИТ блоги 2024-05-18 2024-05-18 Отображаются все разделы
123456

root
1

Игровое железо
Апгрейды ПК
Новые разработки


Без комментариев
Обзор Gigabyte Brix GB-BSi3HA-6100

Очередной апгрейд очередного компьютера...

Как мне уже надоело искать эту золотую середину. Ни один компьютер практически не может полностью удовлетворить желание скорости. Один компьютер тормозит по процессору. Второй вроде не тормозит, но медленно грузится. А тут еще вышли SSD PCIE, и оказалось что нет разъема, снова апгрейд. Третий вроде хорошо работает по скорости, но много кушает и вдобавок шумит. 

В общем, поменял я старый (двухмесячной давности, хе) компьютер на новенький Gigabyte Brix. О нем и поведаю.


Это неттоп. Собран он на мобильном процессоре Core i3-6100U. И стоит порядка 10 000 грн, что относительно немного для такого класса устройств. Обзоров в интернете по нему я не нашел, есть на модель GB-BSi3HA-6100, но они кардинально различаются, примерно как Волга и Бентли.


Итак, чтобы не путать читателей и планирующих купить этот девайс, выложу фотографии обеих. Слева будет GB-BSi3HA-6100, справа - GB-BSi3H-6100. О различиях во внутренностях поговорим позже.

Лицо.


Жопа.


Разница спереди вполне очевидна. Кстати был конфликт с первым магазином у которого я хотел заказать этот ПК (Deshevshe.NET), в ходе которого смешные менеджеры предложили мне сделать скидку и привезти другую модель, мотивируя это тем что "мы честно говоря не нашли различий".

Различие - в наличии USB 3.1, который позволяет передавать данные со скоростью 10 Гбитc (в два раза быстрее чем USB 3.0, и в 1.9 раза быстрее чем SATA, и до 100 Вт заряда). А так же в разъеме будущего, USB 3.1 Type C, который маленький, и в который можно вставлять вслепую кабель любой стороной, т.е. симметричный. Странно что продавцы Deshevshe.net не знают, что они продают.

Кстати, пользуясь случаем, хочу порекомендовать магазин EuroPlus (Украина). Цены очень дешевые, ребята очень ответственно и быстро подошли к задаче, и товар был у меня на следующий же день). Сайт магазина - http://www.eplus.kiev.ua


Внутренности на первый взгляд тоже одинаковы внешне, за исключением одной маленькой детали: у обеих есть новомодный разъем M.2, но в дешевой версии (H), он поддерживает носители только в стандарте SATA (то есть тормознутые 550 Мбc в другой упаковке), а в более дорогой версии (HA) он поддерживает PCIE (NVME) со скоростью полтора-два Гбс. Совсем небольшое различие, да ? 


В процессе работы удалось выяснить, что Gigabyte мошенничает (точнее просто не предупреждает) о том, что PCI-E шина, подведенная к М.2 разъему, не 3.0, а 2.0. То есть максимальная скорость чтения вашего SSD будет не 2.5 Гб, а только 1.6. Учитывайте это, если собираетесь покупать этот компьютер под SSD, как сделал я.


Компьютер в целом абсолютно себя оправдывает, согласно своим габаритам, и своей ценовой категории. Работает шустро, практически не греется, места не занимает, и еле слышно шумит.


Большие плюсы:

1. Процессор Intel Core i3 6100U (последняя разработка Intel), что намного лучше чем в неттопах той же ценовой категории, включая Intel NUC;

2. Абсолютно небольшие габариты. 12х12 см, и высотой в 5 см;

3. Соответственно отличное встроенное видео Intel HD 520;

4. Поддержка DDR4-памяти. Новые технологии, все такое;

5. Наличие USB 3.1-порта, в том числе Type-C (универсального симметричного). За ним будущее;

6. Наличие WiFi стандарта b/g/n/ac, двухстандартного, 2.4 ГГц и 5 ГГц;

7. Наличие одновременно слота М.2 и стандартного SATA вместе с корзинкой под 2.5" диски;

8. Поддеркжа PCI-E разъемом M.2. А значит будут работать высокоскоростные SSD типа Samsung 950 Pro и Kingston Predator;

9. Питание от обычного ноутбучного 19В блока питания, собственно потребление такое же мизерное;

10. VESA-крепление. Можно закрепить за монитором;

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


Большие минусы:

1. Отсутствие VGA-разъема. К старым проекторам и мониторам не подключишь;

2. Присутствие вентилятора. Хоть он и малошумный, но в спальне все же слышен шелест. Было бы не так обидно, если бы китайцы не сделали бесшумную систему из аллюминиевого корпуса;

3. Сдвоенный аудио-разъем под наушники и микрофон. Хотя колонки по отдельности - работают, хоть за это спасибо.


Небольшие минусы:

1. Как уже писал выше, PCI-E работает на скорости 2.0, а значит максимальная скорость чтения вашего SSD будет 1.6 Гбc, вместо 2.5 пиковых. На скорости это все равно не сказывается, пока главные тормоза в ОС, но все равно обидно;

2. Разъем SATA - специфическая косичка в специфическом разъеме. Если часто дергать и поломается - можно помахать ручкой;

3. Пластиковый, хоть и жутко красивый корпус;

4. Отсутствие возможности поставить вертикально. Нету ножек или хотя бы подставки.


Резюме:

Как видите, даже вкупе с небольшими минусами, количество его минусов (впрочем они так же субъективны) значительно ниже количества плюсов.


root
0

Linux Ubuntu
Linux ElementaryOS
Tweaks
Новые разработки


2 комментариев
Высер ElementaryOS Loki Beta

Наконец увидел свет долгожданный релиз ElementaryOS - системы, грозящейся порвать и Windows и MacOS, и даже Ubuntu. Спустя год громких обещаний, да.

На вопрос "почему так долго?" разработчики отвечали краткой отговоркой "Ждем стабильную Ubuntu 16.04". Человек мало-мальски знакомый с ОС на базе Linux, сразу заподозрит неладное, поскольку знает что любой дистрибутив - это всего лишь набор программ, объединенных одним репозиторием и системой установки. То есть например, нам ничего не мешает взять Ubuntu 8.04, бородатого 2008 года, и накатить туда Xfce 4.12, которое 2015 года. 

Но разработчики ElementaryOS решили по-другому. Они решили подождать, пока другие ребята возьмут ядро 4.4 (которому уже ого-го), прикрутят туда репозитории из debian testing, натянут туда сову unity, и выдадут в Mir. Дождались. Целых два месяца прошло, и вот долгожданный БЕТА.

Поставив эту ОС, я разочаровался. Максимум похоже на жуткую alpha, с кучей багов и детских болезней, которые простительны самостоятельной системе, но никак не форку Убунты.

Итак, пару скриншотов.

Ах как эстетично смотрится круглая иконка Midori среди нормальных квадратных иконок в докбаре. Неужто за год нельзя было оквадратить очертания? 







И даже дизайн (то чем так важно кичились разработчики) начал хромать. Только посмотрите - белое окно (наверное), без заголовка, с хаотично разбросанным текстом...Им явно нужно скооперироваться с ребятами из Arc.





Найденные сразу же баги.


1. Жуткие тормоза. Убунта в Кедах курят в сторонке. Мой Pentium Skylake + 8Gb DDR4 + PCI-E Samsung 950Pro - иногда лагает. Круто, а я только собирался поставить ее на EeePC с гигом мозгов.

2. Обновления можно устанавливать только по очереди. Здорово когда нужно обновить 50 приложений.

3. Libreoffice крашится с Segmentation Fault. Повторяю, компьютер 2016 года сборки, все по последним технологиям.

4. При загрузке долго ожидает. Секунд 30. Если подключена вебка. Без вебки грузится быстрее.

5. Lightdm не воспринимает тап (касание по тачпаду, которое имитирует левую кнопку мыши). Система воспринимает.

6. Иногда отказывается перезагружаться. sudo reboot работает всегда.

7. Нету меню "Закрепить в докбаре". Хотя отдельный plank его имеет.

8. Ноутбучные клавиши не работают. И дело не в ядре, то же самое ядро на Дебиане отлично регулирует громкость и яркость.

9. Та же самая потеря фокуса при переключении языка.

10. Та же самая необходимость ставить твики для изменения тривиальных настроек.

11. Та же самая мать ее, невозможность поставить CTRL+SHIFT для переключения языков.


В общем, ребята ГОД пропинали одно место, в итоге выпустили продукт с ошибками, которых уже лет 10 не имеет ни одно ДЕ. И даже предыдущие не исправили. Это плохо.

ElementaryOS не нужен


Если нужно красиво - можно ставить Debian + Cinnamon. Возможностей ого-го, в том числе поддержка плагинов. К десктопу, да. Захотели глобальное меню ? Плагин. Захотели таймер ? Плагин. Захотели запись экрана в видео ? Плагин в панель. Поддержка тем на высоте. Детские глюки быстро устраняются. А главное, разработчики выкатили новую версию, и она оооочень сильно отличается от предыдущей в лучшую сторону.

Если нужно быстро и красиво - можно ставить Debian + Xfce. Реально летает. Запускается быстрее, чем отпустишь кнопку мышки.

Не ставьте это убожество. По крайней мере ПОКАМЕСТ (а судя по предыдущей версии, Freya - никогда).


root
1

Апгрейды ПК
Новые разработки


Без комментариев
Linux NVM PCI-E SSD

Технологии 21-го века стремительно движутся вперед. Одна из таких технологий - SSD, призванная сменить (а на практике дополнить) устаревшую дисковую технологию HDD.

Основные достоинства SSD перед HDD уже знакомы всем, это - скорость доступа, скорость доступа к произвольным блокам, уменьшенные габариты, уменьшенное энергопотребление и как следствие нагрев.

Несмотря на преимущества SSD перед традиционными дисками, этой технологии очень много лет. Я бы даже сказал больше чем жестким дискам, однако в силу дороговизны, тогда (в конце 70-хх - 80-е) они стоили не в полтора-два раза больше обычных дисков, а раз в двадцать. При этом очень быстро изнашивались и занимали чуть ли не столько же, сколько и материнская плата.

На данный момент SSD - это фактически флешка с интерфейсом...а вот мы и плавно подошли к главной теме. Если кратко, то интерфейс носителя информации - это шина со своими стандартами, плюсами и минусами, со своим набором команд, при помощи которой девайс подключается к компьютеру (центральному процессору, или южному мосту - не имеет значения). Этот интерфейс - уровень между устройством и операционной системой, с которым одинаково успешно работает и устройство и операционная система. Не стоит путать интерфейс с форм-фактором разъема, поскольку интерфейс - программная штука, а разъем - аппаратная, и скажем так, вам ничто не помешает сделать кабель соединения вашего жесткого диска из LAN-кабеля с разъемами RJ-45, правда сетевым от этого ваш диск не станет. Итак, разъем (или форм-фактор, хотя не совсем корректно) - это всего лишь реализация подключения устройства. Интерфейс, он же протокол - набор программных стандартов для работы ОС с устройством, подключенным через этот разъем.

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

Одним из таких интерфейсов является SATA, а точнее AHCI. В этом случае наименования вообще запутаны. Изначально SATA - был полноценным стандартом, затем из него сделали общее название для системы носителей информации, подключаемого при помощи шести проводов, последовательным подключением (т.е. одно устройство на порт) и набором AHCI-команд, которые в свою очередь поддерживают стандарт NCQ - очередь, если по нашему.

Чтобы устройству быть SATA, ему не обязательно иметь SATA-разъем, оно может быть выполнено в формате eSATA, в формате mSATA (больше напоминающем MiniPCI), даже в формате полноценного PCI и подключаться через эту шину. Просто оно будет эмулироваться, и система не будет его видеть как PCI, а будет видеть как SATA и работать с ним как с SATA.

На данный момент максимальная скорость чтения через SATA - 600 Мбс, и это продиктовано в первую очередь электрическими ограничениями, не так легко передать через 4 провода на высоких скоростях. И 600 Мбс - вполне себе отличная скорость, учитывая что скорость отдачи информации с блина жесткого диска - физически порядка 90 Мбс, а скорость чтения флешки вообще 60 Мбс, теоретическая, максимальная. В общем 600 Мбс вполне хватало с головой для жестких дисков. Пока не появились SSD. Набор микросхем памяти отдает информацию на очень высоких скоростях, кроме всего ему не свойственно большое время поиска, и не свойствены простои при записи. Прогрессу понадобился всего лишь год, чтобы приблизиться вплотную к ограничению порта, и еще год, чтобы в несколько раз перегнать его.

Чтобы нивелировать эти простои, был придуман новый интерфейс - NVM Express. Компании которые его разрабатывали, продумали все до мелочей. Уменьшение задержек, стандартизация всех костылей, управление доступом, параллельный доступ (многоядерные CPU одобряют), механизм очередей, обработка прерываний, упрощение управляющих команд, и много чего другого. Получившаяся солянка вполне способна удивить родившихся в 20-м веке людей: средняя скорость чтения - 2.5 Гбс. Потрясающе.

Однако очень скоро обнаружился тот же самый недостаток что и в случае микросхем памяти с SATA-интерфейсом, и в том месте, где его совсем не ждали - в архитектуре программного обеспечения. 

Представьте себе двух людей, один слушает, второй вслух читает книгу. Количество времени, за которое слушатель успеет познать эту книгу, первоначально зависит от скорости читающего, и это обыкновенное положение вещей. А теперь представьте, что читающий книгу, ускоряет чтение. Книга будет услышана быстрее. Если читающий еще постарается - то ввод этой книги в уши слушателя состоится еще быстрее. Но если скорость увеличить ЕЩЕ, то поток слов станет бессвязным, и слушатель его попросту не поймет. Получается, что на самом деле количество времени на ввод книги в уши слушателя, зависит не только от скорости читающего, а еще и от возможности слушателя различать слова. Подобная ситуация произошла и с Linux. Читающий книгу (суть носитель информации) стал передавать информацию слишком быстро, слушатель (система ввода-вывода) перестала за ним успевать, в итоге вся система работает на максимальных возможностях слушателя, при умеющем быстрее читателе. Ничего страшного в этом нет, такая система будет работать  в три раза быстрее, чем системы двухлетней давности. Плохо то, что физически она может работать быстрее в пять раз. И будет.

Итак, тема статьи - ускорение Linux на SSD NVM Express - Samsung N950 Pro


Вводные данные:

Материнская плата MiniITX MSI B150I Gaming Pro

Процессор Intel Pentium G4400 Skylake

ОЗУ 8Gb DDR4 2133MHz

SSD M.2 NVME Samsung 950Pro, скорость чтения - 2500 Мб/c, скорость записи - 1500 Мб/c

Операционная система Debian 8.4 (на самом деле не имеет значения)

Жуткие тормоза при загрузке, и при работе. С установленным DE Cinnamon, эта конфигурация открывает Firefox за 2-3 секунды, что не есть гут. Должна мгновенно.


Рассмотрим последовательно процесс загрузки от начала и до готовности работы:

Сперва загружается BIOS. Или UEFI - не суть важно. Эта микропрограмма инициализирует устройства и ищет загрузчик на одном из носителей информации. Этот загрузчик - MBR или файл UEFI, в свою очередь загружает полноценный лоадер, в нашем случае это GRUB. Лоадер читает свой конфигурационный файл, /boot/grub/grub.cfg и загружает субмодули, шрифты и выполняет скрипты, выводя список возможных ОС и их меню.

Когда мы нажимаем ввод на том или ином меню (с Линуксом, разумеется), наш GRUB подгружает дополнительные модули необходимые для доступа к разделу диска, некоторые графические модули. Потом он загружает в память ядро с строкой параметров, и так называемый ramdisk, initrd - сжатый набор модулей и библиотек, необходимый для начального старта. После загрузки рамдиска, ядро передает управление файлу /init, который находится на том разделе, который был указан параметром root= в строке параметров ядра. Система инициализации, она же init - набор скриптов разной степени извращенности в разное время, по сути являющихся автозагрузчиками сервисов, устройств, и так далее. Последним из этих скриптов является менеджер дисплеев, либо менеджер консолей.  Дальнейшая загрузка зависит от настроек конкретной ОС, они бывают разными, но чаще всего два варианта - либо выдается приглашение в случае менеджера консолей, либо выдается графическое приглашение в случае с дисплейным менеджером. Но не всегда. Оба способа могут иметь автологин (т.е. будет залогинен под пользователем без приглашения). Затем грузится интерпретатор (как правило это bash) в случае с консольной загрузкой, либо оконный менеджер(рабочий стол) в случае с графической загрузкой. Эти программы являются практически конечными, за исключением их собственных автозагрузок, которые могут содержать в себе подключаемые вкусности вроде докбара, панелей, расцветок, и прочего мусора. Но это уже неважно.

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

Итак, первое что мы должны уяснить, как и в случае с HDD, лучше один большой файл, чем много мелких. "Лучше" здесь может варьироваться в широких пределах: десятимегабайтный файл загрузится быстрее, чем десят стокилобайтных (в сумме дающих всего лишь мегабайт). Как этого достичь - мы узнаем позже.

Второе - принцип KISS не всегда хорош, и отсутствие принципа KISS не всегда хорошо тоже. Напомню, этот принцип гласит делать одну вещь одним инструментом, не изобретая комбайны. В нашем случае загрузки, даже не вдаваясь в подробности видно, что некоторые нюансы делаются по нескольку раз. Пример - загрузка драйверов на диск и ФС. Ну бред же, если GRUB загрузился, значит диск УЖЕ доступен, и не нужно подгружать драйверы в initrd, а затем в ядре. Как от этого избавиться - мы тоже узнаем позже.

Третье - всегда нужно осознавать что базовое ядро и вообще базовая система построена на основе наиболее распространенных конфигураций, и с одной стороны раздуто для как можно большей совместимости, а с другой стороны, не поддерживает многие фичи опять же для как можно большей совместимости. Драйверы видео, драйверы дисков, драйверы USB работают на средней арифметической оптимизации и скорости. А это чаще всего медленно. Туда же относятся и всякие новые технологии, вроде нашего nvme


Что же нам нужно сделать?

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

Во-вторых, заставить нашу ОС грузить все фичи для ускорения работы.

В-третьих, сделать так, чтобы по возможности все грузилось только одним файлом.

Поскольку простое избавление от initrd приведет к невозможности загрузки (ядро не сможет загрузиться), да и фичи просто так не появятся, единственный способ сделать это - пересобрать ядро.

Это легко. Особенно на debian-based системах, Debian, Ubuntu, Elementary, Mint и прочих. На других конфигурирование будет точно таким же, но сборка может немного отличаться. Какие пакеты нужно качать и ставить, я объяснять не буду, об этом можно почитать здесь (откроется в новом окне)


Нам стоит создать первоначальную конфигурацию командой make localyesconfig - эта команда создаст предварительную конфигурацию на основе работающих в данный момент модулей, с опцией включения этого всего в ядро (помним, мы формируем один большой файл). Поэтому будет лучше если на этом этапе вы вставите в ваш компьютер все устройства, которые потенциально могут использоваться - вебки, флешки, сетевые карты.

Далее я просто напишу какие параметры нужно сконфигурировать для пущего ускорения и поддержки фич на устройствах NVM Express:

General setup  ---> Kernel compression mode ---> выбираем XZ. Этот алогоритм сжатия наиболее быстр, пусть и не очень экономен.

General setup  ---> Timers subsystem  --->  Выбираем Periodic timer ticks (constant rate, no dynticks) - наш процессор сам разберется как ему работать с задачами, не нужно ему мешать

Processor type and features  ---> Выбираем максимально приближенный процессор к нашему, и его некоторые фичи, поддержку Hyperthreading, или просто многоядерности.

Preemption Model ---> Preemptible Kernel (Low-Latency Desktop) - это позволит максимально быстро обрабатывать все задачи

Timer frequency ---> 300 HZ - выше нет смысла, процессор будет зря дергаться, ниже - тоже, иначе реакция системы будет запоздалой.

Device Drivers  ---> <*> NVM Express block device - ставим звездочку, этот драйвер должен быть вкомпилирован в ядро

Device Drivers  ---> SCSI device support  ---> [*] SCSI: use blk-mq I/O path by default - обязательно. Это позволит системе ввода вывода использовать параллелизм при чтении или записи на NVM-носителе

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

Идем дальше.

File systems  ---> <*> The Extended 4 (ext4) filesystem - в случае если вы используете ext4 или ext3. Иными словами, вы должны вкомпилировать в ядро ту ФС, которая установлена у вас.

File systems  ---> <*> FUSE (Filesystem in Userspace) support - это позволит монтировать диски в графических оболочках

File systems  ---> DOS/FAT/NT Filesystems  ---> Здесь можно поставить все звездочки, или все модули, это нужно только если у вас есть файловые системы отличные от корневой. Флешки, диски, и так далее.

Не забудьте так же выставить необходимые вашим НЕлинукс ФС, кодировки в меню Native language support  --->


После компиляции и установки нового ядра, нам стоит отредактировать файл /boot/grub/grub.cfg и закомментировать строчку с вызовом нашего initrd. Если вы его оставите - ничего страшного не случится, но система будет загружать два раза одни и те же модули. Если вы его закомментируете - ничего страшного так же не произойдет, ведь вся ваша информация никуда не удалится. После этого в строке загрузки вашего ядра, нужно изменить параметр root с символьного UUID-устройства, на его блочный путь, например root=/dev/nvme0n1p2

После перезагрузки по идее, новое ядро и в целом система, должны загружаться ощутимо быстрее, и занимать меньше места на диске и в памяти. Если вы не смогли загрузить ядро (точнее оно не смогло примонтировать системный раздел и упало в "kernel panic-not syncing: VFS: unable to mount root fs" - это означает что вы неверно указали системный раздел в параметрах ядра, или забыли вкомпилировать драйвер, специфичный для вашей ОС (например вкомплилировали поддержку ext4, но забыли btrfs, и именно на нем расположена ваша система).




Продолжение следует...


root
7

Информационная безопасность
PHP
Tweaks
Фриланс
Upwork


Без комментариев
Записки системного администратора

Эта статья - не для чтения. Эта статья - how-to, чтобы самому не забывать некоторые вещи.

Однако буду рад, если она кому-то поможет.


EMAIL

https://www.mail-tester.com/spf-dkim-check - весьма полезный ресурс для проверки корректности SPF и DKIM записей e-mail. Дается временный электронный адрес, на который нужно отослать письмо, а после получить список советов по коррекции записей.


DNS

https://www.whatsmydns.net - ресурс для проверки записей домена с функцией детального отображения по популярным DNS-серверам в мире. Помогает при переключении DNS выяснить, где зона уже обновилась, а где еще нет. Плюс ко всему можно выбрать ожидаемый IP-адрес, и увидеть визуально, на каких DNS-серверах он уже обновился, а на каких - еще нет.


HOSTING

Активация fcgi-cache в связке nginx+php-fpm. Сильно ускоряет производительность, ценой периодического обновления динамичной информации. То есть, включив эту фичу и обновив свой контент, придется немного подождать, пока изменения увидит остальной мир. Ну или же перезапустить nginx. Итак, /etc/nginx/nginx.conf

Ищем секцию http {...} и добавляем в нее такое:

fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactive=60m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
Затем ищем секцию нашего сайта, которая отвечает за обработку PHP (чаще всего это location ~ [/].php(/$) {)

fastcgi_cache MYAPP;
fastcgi_cache_valid 200 60m;


HOSTING

Wordpress Nginx rewriterule, он же Wodpress Nginx modrewrite, он же Wodpress Nginx permalinks. Редактируем наш файл виртуалхоста, или просто nginx.conf, ищем секцию отвечающую за наш сервер, и добавляем туда

if (!-e $request_filename)
{
rewrite (.+)$ /index.php?q=$1 last;
}

HOSTING

Если у вас ужасно тормозит сервер, вы не видите этому видимых причин, то скорее всего вы взломаны. Этот абзац для тех, кто наблюдает тормозящие систему процессы, при запуске top. Причина этому - rootkit. Приложение которое как бы незаконно на вашей ОС, но загрузилось туда не через уязвимости ОС, а потому что вы разрешили прямое подключение пользователя root, еще и поставили ему легкий пароль. Итак, самое правильное что нужно сделать - это подключить диск зараженного сервера, к чистому Linux-компьютеру. Это может быть так же Rescue-mode в случае VPS. Соответственно, подключенный диск должен быть примонтирован к вашей системе, и вам нужно сделать туда chroot. После того как вы сделали успешный chroot в примонтированный диск, вам нужно искать где на самом деле лежит ваш троян. Сперва, сделайте cd / - затем, ls -lrt - это выведет нам список файлов по дате изменения. После чего нам придется шариться папка за папкой, удалять все новосозданное. Затем выполнить crontab -e и удалить оттуда ссылку на gcc.sh (предварительно скопировав ее). После чего удалить вредоносный скрипт физически. Напоследок отредактируйте файл /etc/sshd/sshd_config и поставьте PermitRootLogin=No


HOSTING

Как заставить nginx тянуть контент из совсем другой папки, при обращении к какой-либ подстранице сайта

  location /web/application {
        alias /var/www/webapp;
  location ~ .php$ {
        try_files $uri /index.php;
        include fastcgi_params;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
                              }
                                           }


HOSTING

Посчитать количество обращений с каждого IP к серверу с помощью /var/log/nginx/access.log

cut -f1 -d ' ' access.log sort uniq -c sort -g -r


EMAIL

Очистить письма из очереди exim

exim -bp exiqgrep -i xargs exim -Mrm


HOSTING

На некоторых dedicated, стоят ФС XFS. Жутко нестабильное говно, способное закрашиться в самый неподходящий момент, после чего ОС перестает грузиться. Чтобы победить ошибку, необходимо запустить xfs_repair -P -L -v -o bhash=8192 /dev/УСТРОЙСТВО, жирным отмечены опции без которых xfs_repair может зависнуть на этапе traversing filesystem... на больших разделах.


root
0

PHP
Linux Ubuntu
Tweaks
Фриланс
Freelance.com


2 комментариев
Worpdress optimization

Wordpress is CMS - system for website's content management. It's easy and powerful, and compatible with most of servers, but as a payment, it's also heavyweight and not optimized.


The first reason, why Wordpress website is working slow - is Wordpress. His engine designed for executing step by step, few tens of PHP scripts. You're running index file (index.php), it calls wp-blog-header.php,it calls wp-load.php and template-loader.php, they are calls wp-config.php, functions.php, load.php, version.php, template-loader.php is requesting embed-template.php and wp-trackback.php and so on. And I described only 10% of all running files, without template, without plugins and so on.

Of course, each execution requires a CPU time, a network resource, a PHP attention.

The second reason, why Wordpress is working slow - method of execution. The main issue - PHP/Wordpress will pause content output, until it will not fully downloaded. In a case of HTML files, they will loaded and displayed immediately. If there are something heavyweight, HTML will load it, and also will display previously loaded data. PHP and Wordpress will output only when all amount of info will be loaded.

The third and main reason - not optimized hosting (for Wordpress) . As I told earlier - Wordpress is using multiple PHP requests, and server must working perfectly to process them all, without freezing or slowness.

The best web-server structure to process this - nginx+php-fpm+mariadb. Those fearsome words just names three minimal requirements for each modern website: directly web-server - application which accept requests from outside and outputs answer; script which executing website content (PHP), and database used by website content. Your browser asking nginx to process index.php, nginx runs php-fpm to process this index.php, index.php might use MySQL to process requests, returns response to php-fpm, php-fpm returns response to nginx, nginx returns response to browser. Something like that.

Why nginx? Because it light, fast, easy in use, configurable and modern. In difference of Apache, which is heavyweight, but supports more features as plugins (the same structure which slowdown Wordpress, yep).

Why php-fpm ? Because it's daemon (application which always running in memory), and this allows our web-server to save time instead of run php from disk for each request.

Why MariaDb ? Because this is transparent fork of MySQL (with 100% compatibility) and works a little bit faster. For a 15%-20%, but if this is transparent upgrade for MySQL (doesn't require source-code changes) - why not ?

Please, always keep in minds: the root of Wordpress'es slowness is - incorrect server configuration. Not plugins, not amount of images, and not a content size. Just server configuration. 
So, the first solution to increase speed of Wordpress site - creating of proper server configuration. You must use nginx as light web-server, which very smoothly processes requests to small static files, like images and css. And it can keep them in memory, decreasing requests to your drive and increasing speed of output. Absolutely, you must use php-fpm. Do not listen anyone who recommends to do some proxy using apache. In this case, you will have a slow 3-head monster: nginx, will run apache, apache will run php. Nginx is able to work directly with php.
If you hosted under shared hosting (around with other websites, yes) - migrate to your own server (VPS). In the current century, average price of VPS enough for your website - 4-7 USD per month. Do not try to install optimization plugin over another optimization plugin - your website will not be faster, because the root of issue is in server config, but plugin has no access there.
Do not listen suggestions about "hey man, use CDN". CDN (Content Delivery Network) improving delivery (!!!) speed for generated content. And only for visitors, physically far from server. But slowness is at content generation, not delivery. Let's imagine, content generation is taking 5 seconds. And content size ig 500 Kb. Server is located at USA. Visitor opening your website from London. In this case, after visitor will press enter, your server will process his request, generate content (5 seconds), output it, and Internet will transfer those 500 Kb to visitor in 200 ms (of course if visitor's network speed is the same as server's), so the time between pressing "Enter" by visitor, and finish page loading will be 5.2 seconds. In a case of using CDN, this content will be transferred in 50 ms, but it will be generated in the same 5 seconds. So, the total time for website loading will be 5.05 seconds. Well, 195ms - is large difference, right? 
Of course this suggestion is related to one type of slowness - when web-browser freezes for few seconds, and then display content. If you have a lot of content (starting from 3-4 Mb), and you might have visitors from other countries - you can use CDN.
About memcached, varnish, redis, and other "super-boosters". Those applications are based on storing of frequently asked information in memory. But they are useless, if your website engine doesn't manage them. In other words, your website should be designed to work with those caches from scratch, and if you will just install them - you just spent some disk space and other server resources, including a little bit of speed. Wordpress was not designed to work with those types of cache, so you shouldn't use them.
Few words about "WP super mega giga cache" and other. The "cache" assumes only one - storing of request results in temporary memory to prevent frequent processing for the same results. For example, let's imagine, we're using the system "nginx-php-website". Our website is calculator. And we request to calculate some big formula. sin(5+5)*735 - doesn't matter. Website is calculating this formula in 2 seconds. So, slowness is there. Doesn't matter what plugins you're using, and how much of CDN are using. The slowness of website caused by engine. If we will use cache - we will use full website engine to calculate our "sin(5+5)*735" only once. Cache will store result in memory, and next time, when we will request the same formula - our cache will return result directly after request, without using "php-website" area. The plus of using cache is visible - speed. The minus of using cache - features of website which will prevent to use cache for everything. Let's imagine, our visitors are using a million of different formulas. In this case, our server can't store all results due to insufficient memory. Possible results are larger than you can imagine. Only one different symbol in next request - and it should be cached once again. The next minus is relevance of output data. Let's imagine, we have our own cached social network and looking for females 16-21 age there. Our website is getting external request from visitor (usually GET, something like &action=search&age1=16&age2=21), and returns cached result, and cache as you know, based on request. But what will happen, if new girl will registered there ? Your social network will have new user on a fact, but each visitor who will run the same request as I exampled - will have non-actual data, without newly registered girl. So, cache is not universal solution. But if you have static data, which will updated only by you (without visitors' comments and so on), using of cache will be the best solution.
Even in a cases if you want use a cache - there is no reason to install "WP super mega giga cache" and other. They will not increase speed as you expected. Will be better if you will use internal server cache. Fastcgi cache, or at least MySQL query cache.


                                                                                                    Vitaliy Blats

                                                                                                    professional server optimizer.

Посмотрите так же: Высер ElementaryOS Loki Beta _ и Linux NVM PCI-E SSD _


Вы должны войти в систему, чтобы создавать блоги

2+2 / 2+1
В этой строке мы предупреждаем Вас, что можем использовать так называемые cookies
Нам искренне плевать на введенную Вами информацию о себе. Мы просто запоминаем у Вас на устройстве то, что Вы же и настроили.