Сергей Рудюк 12 мая 2012

Заметил, что скорость на сервере все время маленькая - почему-то не превышает 10 Мбит/с, в то время, как должна достигать 100 МБит/с. Долго думал, что это из-за того, что у пользователей маленькая скорость, но... Вот у меня локальный интернет 80МБит/с и скорость все настолько же низкая: 0,8-2Мбит/с.

Начал искать причину. Протестировал локальный интернет на своем компьюетере с помощью сайта http://www.speedtest.net/.

Показатели, конечно, меньше 80МБит/с, но в целом - выше на порядок, чем между сервером и локальным компьютером: 20-40Мбит/с...

Как же протестировать сервер ?

Как оказалась, есть такая замечательная команда iperf.

Устанавливаем iperf на сервере:

apt-get install iperf

На клиентском компьютере, если он под Linux выполняем тоже данную команду. В случае же Windows ставим версию для Винды:

http://iperf.ru/wp-content/uploads/2009/07/jperf-2.0.0.zip

Теперь, запускаем на сервере сервис:

iperf -s

Выполняем на клиенте:

iperf -c НазваниеВашегоСервера -P 20

Расшифровка ключей.

-с - указывает на компьютер с которым происходит передача данными.

-P - указывает на количество потоков, которые используются при передаче данных (в нашем случае - 20 потоков).

------------------------------------------------------------

Client connecting to corp2.net, TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

[1760] local 192.168.0.99 port 27951 connected with 77.88.252.136 port 5001

[1696] local 192.168.0.99 port 27955 connected with 77.88.252.136 port 5001

[1664] local 192.168.0.99 port 27957 connected with 77.88.252.136 port 5001

[1808] local 192.168.0.99 port 27948 connected with 77.88.252.136 port 5001

[1792] local 192.168.0.99 port 27949 connected with 77.88.252.136 port 5001

[1632] local 192.168.0.99 port 27959 connected with 77.88.252.136 port 5001

[1840] local 192.168.0.99 port 27946 connected with 77.88.252.136 port 5001

[1776] local 192.168.0.99 port 27950 connected with 77.88.252.136 port 5001

[1600] local 192.168.0.99 port 27961 connected with 77.88.252.136 port 5001

[1552] local 192.168.0.99 port 27964 connected with 77.88.252.136 port 5001

[1728] local 192.168.0.99 port 27953 connected with 77.88.252.136 port 5001

[1568] local 192.168.0.99 port 27963 connected with 77.88.252.136 port 5001

[1744] local 192.168.0.99 port 27952 connected with 77.88.252.136 port 5001

[1712] local 192.168.0.99 port 27954 connected with 77.88.252.136 port 5001

[1680] local 192.168.0.99 port 27956 connected with 77.88.252.136 port 5001

[1648] local 192.168.0.99 port 27958 connected with 77.88.252.136 port 5001

[1616] local 192.168.0.99 port 27960 connected with 77.88.252.136 port 5001

[1856] local 192.168.0.99 port 27945 connected with 77.88.252.136 port 5001

[1824] local 192.168.0.99 port 27947 connected with 77.88.252.136 port 5001

[1584] local 192.168.0.99 port 27962 connected with 77.88.252.136 port 5001

[ ID] Interval Transfer Bandwidth

[1792] 0.0-10.0 sec 120 KBytes 98.1 Kbits/sec

[1824] 0.0-10.0 sec 360 KBytes 294 Kbits/sec

[1696] 0.0-10.1 sec 184 KBytes 149 Kbits/sec

[1664] 0.0-10.2 sec 152 KBytes 123 Kbits/sec

[1712] 0.0-10.2 sec 48.0 KBytes 38.6 Kbits/sec

[1808] 0.0-10.3 sec 696 KBytes 556 Kbits/sec

[1616] 0.0-10.3 sec 40.0 KBytes 31.8 Kbits/sec

[1760] 0.0-10.7 sec 448 KBytes 342 Kbits/sec

[1584] 0.0-10.7 sec 320 KBytes 245 Kbits/sec

[1776] 0.0-14.1 sec 32.0 KBytes 18.5 Kbits/sec

[1600] 0.0-14.1 sec 32.0 KBytes 18.5 Kbits/sec

[1840] 0.0-14.2 sec 48.0 KBytes 27.8 Kbits/sec

[1552] 0.0-14.1 sec 32.0 KBytes 18.5 Kbits/sec

[1632] 0.0-15.2 sec 56.0 KBytes 30.3 Kbits/sec

[1648] 0.0-18.1 sec 40.0 KBytes 18.2 Kbits/sec

[1568] 0.0-18.1 sec 32.0 KBytes 14.5 Kbits/sec

[1856] 0.0-18.1 sec 40.0 KBytes 18.1 Kbits/sec

[1680] 0.0-23.0 sec 40.0 KBytes 14.3 Kbits/sec

[1728] 0.0-23.1 sec 40.0 KBytes 14.2 Kbits/sec

[1744] 0.0-23.1 sec 40.0 KBytes 14.2 Kbits/sec

[ ID] Interval Transfer Bandwidth

[SUM] 0.0-23.1 sec 2.73 MBytes 993 Kbits/sec

Как видите, скорость и вправду далека от 100МБит/сек. и в нашем случае составила всего 993 КБит/сек...

После того, как обратились к провайдеру, оказалось, что "не правильно срабатывал шейпер". После снятия его, результаты кардинально улучшились:

------------------------------------------------------------

Client connecting to srv1.corp2.net, TCP port 5001

TCP window size: 8.00 KByte (default)

------------------------------------------------------------

[1824] local 192.168.0.99 port 28769 connected with 77.88.252.135 port 5001

[1552] local 192.168.0.99 port 28786 connected with 77.88.252.135 port 5001

[1840] local 192.168.0.99 port 28768 connected with 77.88.252.135 port 5001

[1856] local 192.168.0.99 port 28767 connected with 77.88.252.135 port 5001

[1808] local 192.168.0.99 port 28770 connected with 77.88.252.135 port 5001

[1632] local 192.168.0.99 port 28781 connected with 77.88.252.135 port 5001

[1776] local 192.168.0.99 port 28772 connected with 77.88.252.135 port 5001

[1760] local 192.168.0.99 port 28773 connected with 77.88.252.135 port 5001

[1744] local 192.168.0.99 port 28774 connected with 77.88.252.135 port 5001

[1792] local 192.168.0.99 port 28771 connected with 77.88.252.135 port 5001

[1712] local 192.168.0.99 port 28776 connected with 77.88.252.135 port 5001

[1728] local 192.168.0.99 port 28775 connected with 77.88.252.135 port 5001

[1696] local 192.168.0.99 port 28777 connected with 77.88.252.135 port 5001

[1664] local 192.168.0.99 port 28779 connected with 77.88.252.135 port 5001

[1600] local 192.168.0.99 port 28783 connected with 77.88.252.135 port 5001

[1680] local 192.168.0.99 port 28778 connected with 77.88.252.135 port 5001

[1648] local 192.168.0.99 port 28780 connected with 77.88.252.135 port 5001

[1568] local 192.168.0.99 port 28785 connected with 77.88.252.135 port 5001

[1616] local 192.168.0.99 port 28782 connected with 77.88.252.135 port 5001

[1584] local 192.168.0.99 port 28784 connected with 77.88.252.135 port 5001

[ ID] Interval Transfer Bandwidth

[1568] 0.0-10.1 sec 1.77 MBytes 1.47 Mbits/sec

[1744] 0.0-10.1 sec 1.08 MBytes 893 Kbits/sec

[1616] 0.0-10.2 sec 1.55 MBytes 1.27 Mbits/sec

[1680] 0.0-10.2 sec 704 KBytes 564 Kbits/sec

[1584] 0.0-10.2 sec 1.91 MBytes 1.57 Mbits/sec

[1856] 0.0-10.2 sec 1.20 MBytes 981 Kbits/sec

[1552] 0.0-10.2 sec 904 KBytes 723 Kbits/sec

[1760] 0.0-10.2 sec 1.51 MBytes 1.24 Mbits/sec

[1792] 0.0-10.2 sec 1.26 MBytes 1.03 Mbits/sec

[1712] 0.0-10.2 sec 1.70 MBytes 1.39 Mbits/sec

[1776] 0.0-10.2 sec 1.26 MBytes 1.03 Mbits/sec

[1648] 0.0-10.2 sec 1.14 MBytes 938 Kbits/sec

[1728] 0.0-10.2 sec 1.32 MBytes 1.08 Mbits/sec

[1808] 0.0-10.2 sec 1.05 MBytes 858 Kbits/sec

[1824] 0.0-10.3 sec 1.51 MBytes 1.23 Mbits/sec

[1696] 0.0-10.3 sec 1.70 MBytes 1.39 Mbits/sec

[1600] 0.0-10.3 sec 1.75 MBytes 1.43 Mbits/sec

[1840] 0.0-10.3 sec 1.44 MBytes 1.17 Mbits/sec

[1664] 0.0-10.3 sec 1.34 MBytes 1.09 Mbits/sec

[1632] 0.0-11.4 sec 1.67 MBytes 1.23 Mbits/sec

[ ID] Interval Transfer Bandwidth

[SUM] 0.0-11.4 sec 27.7 MBytes 20.4 Mbits/sec

А между серверами внутри провайдера достигает практически максимум (раньше было до 2 МБит/с):

iperf -c srv1.corp2.net -P 20

------------------------------------------------------------

Client connecting to srv1.corp2.net, TCP port 5001

TCP window size: 16.0 KByte (default)

------------------------------------------------------------

[ 19] local 77.88.252.136 port 42503 connected with 77.88.252.135 port 5001

[ 8] local 77.88.252.136 port 42485 connected with 77.88.252.135 port 5001

[ 9] local 77.88.252.136 port 42484 connected with 77.88.252.135 port 5001

[ 3] local 77.88.252.136 port 42487 connected with 77.88.252.135 port 5001

[ 6] local 77.88.252.136 port 42486 connected with 77.88.252.135 port 5001

[ 5] local 77.88.252.136 port 42488 connected with 77.88.252.135 port 5001

[ 7] local 77.88.252.136 port 42489 connected with 77.88.252.135 port 5001

[ 10] local 77.88.252.136 port 42490 connected with 77.88.252.135 port 5001

[ 4] local 77.88.252.136 port 42492 connected with 77.88.252.135 port 5001

[ 13] local 77.88.252.136 port 42491 connected with 77.88.252.135 port 5001

[ 11] local 77.88.252.136 port 42493 connected with 77.88.252.135 port 5001

[ 14] local 77.88.252.136 port 42494 connected with 77.88.252.135 port 5001

[ 12] local 77.88.252.136 port 42495 connected with 77.88.252.135 port 5001

[ 16] local 77.88.252.136 port 42496 connected with 77.88.252.135 port 5001

[ 15] local 77.88.252.136 port 42498 connected with 77.88.252.135 port 5001

[ 18] local 77.88.252.136 port 42497 connected with 77.88.252.135 port 5001

[ 17] local 77.88.252.136 port 42499 connected with 77.88.252.135 port 5001

[ 21] local 77.88.252.136 port 42500 connected with 77.88.252.135 port 5001

[ 22] local 77.88.252.136 port 42501 connected with 77.88.252.135 port 5001

[ 20] local 77.88.252.136 port 42502 connected with 77.88.252.135 port 5001

[ ID] Interval Transfer Bandwidth

[ 4] 0.0-10.0 sec 7.79 MBytes 6.53 Mbits/sec

[ 10] 0.0-10.0 sec 8.04 MBytes 6.73 Mbits/sec

[ 14] 0.0-10.0 sec 6.90 MBytes 5.77 Mbits/sec

[ 13] 0.0-10.0 sec 8.16 MBytes 6.81 Mbits/sec

[ 15] 0.0-10.0 sec 7.19 MBytes 6.00 Mbits/sec

[ 18] 0.0-10.1 sec 7.20 MBytes 6.00 Mbits/sec

[ 21] 0.0-10.1 sec 7.34 MBytes 6.12 Mbits/sec

[ 7] 0.0-10.1 sec 2.73 MBytes 2.27 Mbits/sec

[ 11] 0.0-10.1 sec 7.27 MBytes 6.04 Mbits/sec

[ 3] 0.0-10.1 sec 10.6 MBytes 8.83 Mbits/sec

[ 5] 0.0-10.1 sec 2.95 MBytes 2.45 Mbits/sec

[ 17] 0.0-10.1 sec 7.20 MBytes 5.96 Mbits/sec

[ 6] 0.0-10.2 sec 9.50 MBytes 7.85 Mbits/sec

[ 20] 0.0-10.2 sec 2.42 MBytes 1.99 Mbits/sec

[ 12] 0.0-10.2 sec 7.15 MBytes 5.88 Mbits/sec

[ 22] 0.0-10.2 sec 2.22 MBytes 1.82 Mbits/sec

[ 8] 0.0-10.3 sec 2.37 MBytes 1.93 Mbits/sec

[ 9] 0.0-10.3 sec 3.23 MBytes 2.62 Mbits/sec

[ 16] 0.0-10.4 sec 4.59 MBytes 3.69 Mbits/sec

[ 19] 0.0-10.4 sec 2.66 MBytes 2.13 Mbits/sec

[SUM] 0.0-10.4 sec 118 MBytes 94.4 Mbits/sec

94,4 Мбит/с - это отличный показатель!

12.05.12, 14:03

Автор сообщения: К2® Рудюк Сергей Анатольевич (Блог К2 - http://corp2.net)

Сергей Рудюк 21 января 2012

Возникла проблема при работе на серверах через KVM. Как оказалось, при подключении через KVM Linux Ubuntu определяла монитор, как 100Hz и с большим разрешением. В результате, вместо того, чтоб изображение транслировалось KVM - видим черный экран. Это привело к тому, что если доступа нет через интернет (например, не произошло подключение к сети), то сервер становится не управляемым, т.к. через KVM войти в систему не получается - выводится черный экран...

При анализе данной ситуации было установлено, что у нас в системе нет файла с настройками для монитора по-умолчанию. Отсутствовал вообще файл /etc/X11/xorg.conf

Поэтому, решение данного вопроса - это установка разрешения по умолчанию в файле /etc/X11/xorg.conf (который понадобилось создать).

Section "Monitor"

Identifier "My Monitor"

HorizSync 31.5 - 50.0

VertRefresh 40-90

EndSection

Section "Screen"

Identifier "Default Screen"

Monitor "My Monitor"

DefaultDepth 24

Subsection "Display"

Depth 24

Modes "1024x768"

ViewPort 0 0

EndSubsection

EndSection

21.01.12, 12:11

Сергей Рудюк 29 января 2011

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

1. Оптимизация CMS-системы.

Как было показано опытами, которые я проводил несколько лет назад, наибольшая скорость загрузки и пропускная система - у статических файлов. Скорость cms-систем и статических файлов отличается в 1000-10 000 раз. Причем, это еще сильней сказывается при применении системы веб-сервера NGinx.

Зная это, я переработал систему кеширования в нашей cms-системе Корпорация 2 таким образом, чтоб генерировался статический сайт из динамического содержимого. Это дало значительный прирост скорости и значительное уменьшение нагрузки на сервере.

2. Оптимизация работы веб-сервера. Связка Apache-Nginx.

Мы давно практикуем систему 2-х уровневого веб-сервера. Эта система дает устойчивость к большому количеству посещений, и как результат - скорость работы веб-сервера.

3. Оптимизация работы базы данных. Связка PostgreSQL-PGBouncer.

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

4. Оптимизация работы с файлами Nginx.

Если не правильно настроить Nginx, то он будет загружать не нужной работой Apache. Поэтому, мы настроили Nginx так, чтоб он как можно реже переводил управление на Apache. В идеале - работая вообще без Apache!

5. Системы кеширования PHP. Остановились на xCache.

Значительное время веб-сервера тратится на компиляцию PHP-кода. Поэтому, я решил установить систему кеширования PHP-кода. Рассматривая ряд вариантов остановился на xCache. Но, ниже дам выдержки из статей для настройки нескольких разных систем кеширования php-кода. Может, в некоторых случаях, они будут более эффективны...

По настройке админки xcache, советую прочитать документацию: http://xcache.lighttpd.net/wiki/InstallAdministrat...

Установка и настройка xCache

Оптимизация работы вебсерверов, ускорение их работы тема очень интересная, возможности развернуться в этой области предостаточно, инструментов тоже хватает. XCache относится к средствам ускорения работы PHP. Устанавливается XCache как дополнительный модуль PHP и служит для кеширования результатов выполнения скриптов в шаред мемори. По сравнению с eAccelerator, XCache показывает более ощутимые результаты, но в проектах, где объемы кеша очень большие – не совсем подходит. Все таки оперативная память не бесконечна. Установим XCache из портов:

cd /usr/ports/www/xcache/

make install clean

При установке доступен диалог настройки сборки, с единственным пунктом Enable code coverage dumper, по умолчанию она включена и служит для определения.предотвращения переполнения памяти.

По окончании установки, нужно скопировать файл настройки xcache.ini в /usr/local/etc/php/:

cp /usr/local/share/examples/xcache/xcache.ini /usr/local/etc/php/

и немного исправить.

У меня получился такой файл настроек:

[xcache-common]

extension = xcache.so

#Включим админ интерфейс

[xcache.admin]

xcache.admin.enable_auth = On

xcache.admin.user = "admin"

#В качестве пароля укажем md5 хеш, создать его можно с

#помощью команды md5 -s "ваш пароль"

xcache.admin.pass = "XXXXXX"

[xcache]

xcache.shm_scheme = "mmap"

#Выделим для кеша 128 мегабайт

xcache.size = 128M

xcache.count = 1

xcache.slots = 8K

xcache.ttl = 0

xcache.gc_interval = 0

xcache.var_size = 0M

xcache.var_count = 1

xcache.var_slots = 8K

xcache.var_ttl = 0

xcache.var_maxttl = 0

xcache.var_gc_interval = 300

xcache.test = Off

xcache.readonly_protection = Off

xcache.mmap_path = "/dev/zero"

xcache.coredump_directory = ""

xcache.cacher = On

xcache.stat = On

xcache.optimizer = On

[xcache.coverager]

xcache.coverager = On

xcache.coveragedump_directory = ""

Настройка самого XCache закончена, остается сделать доступным админ интерфейс. Для этого я у себя скопировал /usr/local/share/examples/xcache/admin в документ рут своего вебсервера www.hilik.org.ua

После этого админ интерфейс станет доступным по URL http://www.hilik.org.ua/admin/

Конечно через этот интерфейс доступна только статистика, но все равно, это полезная функция.

Да и авторизация определена вами в xcache.ini.

Взято на сайте http://www.hilik.org.ua

Установка Eaccelerator

PHP — язык интерпретируемый. Это значит, что каждый раз, когда происходит вызов скрипта на этом языке, запускается PHP-интерпретатор, который проводит полный анализ исходного кода. Причем, если спустя секунду произойдет второй запуск того же скрипта, вся процедура будет повторена заново. Это нерациональное использование ресурсов, поэтому мы применим инструмент под названием eAccelerator, который скомпилирует исходные тексты PHP в двоичное представление, оптимизирует их и будет бережно хранить в оперативной памяти для более быстрого доступа. Благодаря только этому скорость обработки PHP-скриптов вырастет в десятки раз (подтверждено тестами).

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

$ sudo apt-get install php5-dev build-essential

Далее получаем исходные тексты eAccelerator:

$ cd /tmp/

$ wget http://bart.eaccelerator.net/source/0.9.6.1/

eaccelerator-0.9.6.1.tar.bz2

$ tar xvjf eaccelerator-0.9.6.1.tar.bz2

$ cd eaccelerator-0.9.6.1

$ phpize

$ ./configure --enable-eaccelerator=shared

$ make

$ sudo make install

Создаем каталог для хранения кэша:

$ sudo mkdir -p /var/cache/eaccelerator

$ sudo chmod 0777 /var/cache/eaccelerator

И, наконец, подключаем eAccelerator к PHP (добавить в начало файла):

# vi /etc/php5/apache2/php.ini

[PHP]

; Подключаем расширение

extension = "eaccelerator.so"

eaccelerator.enable = "1"

; Максимальный размер дискового кэша (Мб)

eaccelerator.shm_size = "64"

; Каталог для хранения кэша

eaccelerator.cache_dir = "/var/cache/eaccelerator"

; Включаем оптимизатор кода

eaccelerator.optimizer = "1"

; Перекомпилировать модифицированные скрипты

eaccelerator.check_mtime = "1"

; Отключаем режим отладки

eaccelerator.debug = "0"

; Кэшировать все файлы (пустой фильтр)

eaccelerator.filter = ""

; Неограниченный размер кэша в памяти

eaccelerator.shm_max = "0"

; В случае отсутствия места в кэше удалять объекты старше

1 часа (3600 секунд)

eaccelerator.shm_ttl = "3600"

eaccelerator.shm_prune_period = "0"

; Кэшировать данные и в памяти, и на диске

eaccelerator.shm_only = "0"

; Сжимать кэшированные данные с максимальным уровнем компрессии

eaccelerator.compress = "1"

eaccelerator.compress_level = "9"

Установка APC

Статья по адресу: http://phpcoder.ws/2009-02/apc-setup.html

APC (Alternative PHP Caching – это Альтернативный ПХП Кешер, руководство по использованию на английском языке). Входит в число трех наиболее популярных способов кеширования опкодов для выполненных php скриптов. Его ближайшими конкурентами являются XCache и eAccelerator. О последнем я уже писал недавно на этом блоге, а статья об XCache, который имеет несколько очень существенных преимуществ перед конкурентами, будет опубликована здесь в ближайшее время. Короче говоря, APC это еще один способ повысить быстродействие вашего сайта в том случае если он расположен на вашем сервере, вы являетесь админом своего хостинга и вас волнуют вопросы быстродействия размещенных на нем сайтов…

Установка APC

Одним из основных преимуществ APC является его простота установки. Если вы являетесь пользователем Debian/Ubuntu, то вполне вероятно что для установки вам будет достаточно набрать в консоли команду sudo aptitude install php-apc или установить этот пакет через synaptic. Если вы используете другой дистрибутив, или по какой-то причине не можете установить “родной” deb-пакет, то у вас есть другой путь – установка из PECL. Для этого нужно набрать команду: sudo pecl install apc, которая скачает нужные архивы из сети, распакует, откомпилирует и установит полученный файл apc.so в нужную директорию.

Проверка установки APC

Во-первых, проверьте что строчка загрузки расширения extension=apc.so действительно прописалась в php.ini (или создан файл apc.ini с этой строчкой в папке с конфигами расширений php – зависит от вашего дистрибутива. Для Debian, например, этой папкой будет /etc/php5/apache2/conf.d/

Если строчка успешно найдена/добавлена, то перезапускаем сервер apache и переходим к проверке самого расширения. Для этого находим папку в которую было установлено расширение. В этой папке будет лежать файл apc.php (файл так же можно взять в архиве установки), копируем его в public директорию любого из сайтов на этом веб-сервере и заходим браузером по адресу http://сайт/apc.php. Если расширение было установлено корректно, то вы увидите на загруженной странице статистику по APC (скриншоты приведены ниже).

Общая информация об APC

Общая информация об APC

Подробная информация об APC

Подробная информация об APC

Информация о хосте

Информация о хосте

Замеры изменения производительности

Для проверки была выбрана CMS Joomla1.5.9 с демонстрационным набором данных после установки и с шаблоном дизайна по умолчанию. При тестировании производительности при помощи утилиты ab2 (было выполнено 1000 обращений к главной странице сайта в 5 потоков) скорость генерации страниц увеличилась на 40%

Недостатки APC

Объективности ради отмечу и недостатки APC…

* отсутствует поддержка FastCGI

* кеширование работает только с модулем apache mod_php (в режиме cli ускорения не будет)

* работает с версиями PHP<=5.2 С версией 5.3 отмечаются проблемы, а что касается 6.0 - будущее совсем туманно. Возможно какой-то механизм кеширования будет интегрирован в само ядро...

Заключение

По-моему стоит установить APC на своем веб-сервере и попробовать – подойдет ли оно именно вам. Несмотря на ряд описанных выше ограничений APC считается наиболее надежным из тройки основных реализаций кеширования для языка PHP…

29.01.11, 12:43

Сергей Рудюк 21 января 2011

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

Я использую для удаленного администрирования в графическом режиме 2 серверных приложения:

x11vnc - позволяет удаленно работать с текущим монитором.

vnc4server - позволяет работать с отдельными виртуальными монторами. При этом, дисплей с номером 0 - это текущий монитор компьютера.

21.01.12, 12:10

Сергей Рудюк 21 января 2011

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

Вот логи nginx:

72.55.148.21 - - [30/Aug/2011:08:44:26 +0300] "GET //admdb/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:26 +0300] "GET //!mysql/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:27 +0300] "GET //phpma1/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:27 +0300] "GET //adminsql/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:27 +0300] "GET //madm/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:28 +0300] "GET //ladminadminl/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:29 +0300] "GET //myad/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:32 +0300] "GET //PmA/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:33 +0300] "GET //phpMyAdmin-2.11.5.1-all-languages/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:33 +0300] "GET //phpmyadmin_2.10/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:33 +0300] "GET //phpmyadmin2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:33 +0300] "GET //phpmyadmin211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:37 +0300] "GET //phpMyAdmin211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:37 +0300] "GET //pma2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:37 +0300] "GET //pma211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:38 +0300] "GET //db2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:38 +0300] "GET //db211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:38 +0300] "GET //dbadmin2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:41 +0300] "GET //php2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:42 +0300] "GET //php211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:42 +0300] "GET //_sql/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:42 +0300] "GET //sql2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:43 +0300] "GET //sql211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:43 +0300] "GET //phpadmin2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:43 +0300] "GET //phpadmin211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:43 +0300] "GET //mysql2011/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:44 +0300] "GET //mysql211/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:44 +0300] "GET //phpM/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:44 +0300] "GET //phpMyAdmin.life/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:45 +0300] "GET //pma_2/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:45 +0300] "GET //phpMyAdmini/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:45 +0300] "GET //phpmysql/sql/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:45 +0300] "GET //pma_ai/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:46 +0300] "GET //mygoodadmin/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:46 +0300] "GET //wp-pma-mod/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:46 +0300] "GET //phpMyAdmin-old/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:47 +0300] "GET //phpma/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:47 +0300] "GET //madm/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:47 +0300] "GET //php_jibin/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:47 +0300] "GET //db_my/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:48 +0300] "GET //data_admin/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:48 +0300] "GET //phpMyAdmin-2.11.1/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:48 +0300] "GET //rootsql/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:48 +0300] "GET //rcsu_mydb/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

72.55.148.21 - - [30/Aug/2011:08:44:49 +0300] "GET //phpMyAdmin-2.11.9.6/scripts/setup.php HTTP/1.1" 403 169 "-" "-"

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

21.01.12, 12:10

Сергей Рудюк 21 января 2011

Столкнулся с проблемой, что при подключении через VPN отключается интернет. Для того, чтоб такого не происходило, нужно совсем не много:

Заходим в свойства соединения VPN ---> Сеть ---> Свойства TCP/IP ---> Дополнительно ---> Убираем галочку с "Использовать основной шлюз в удалённой сети".

И после этого, все прекрасно будет работать!

21.01.12, 12:08

Сергей Рудюк 3 ноября 2009

Создан новый сайт с более 500 тыс. электронных книг и Терабайтами информации. Заходите, думаю, найдете на нем много интересного.

http://books.corp2.net

Сергей Рудюк 3 ноября 2009

На нашем сервере обновлена операционная система Linux Ubuntu 9.10. Релиз данной операционной системы вышел 29 октября 2009 года. Таким образом, у нас на сервере установлено самое новое программное обеспечение.

03.11.09, 18:43

Сергей Рудюк 2 ноября 2009

В системе Корпорация 2 проведено ряд работ по усилению системы безопасности. Теперь, пользователь не сможет получить доступ к информации, если не обладает на это прав даже при наличии прямой ссылки на контент.

02.11.09, 23:39

Сергей Рудюк 2 ноября 2009

Хоть система Корпорация 2 уже работает на многих десятках сайтов, тем не менее, мы еще не выпустили "релиз системы". Предположительно, релиз системы выйдет в начале 2010 года. К этому времени, будет создана целая сеть наших сайтов, переделаны все сайты, работающие на системе Корпорация 2 с компонент 1 на компоненты 2, а так же будет создано целый ряд демонстрационных сайтов, на которых пользователи смогут получить представление о системе.

Так же пердполагается в рамках сервиса Корпорация 2 добавить еще 1 сервер на другой площадке. Данный сервер будет размером 4 юнита с 24 высоко-скоростными винчестерами, большим количеством оперативной памяти и 2-мя много-ядерными высоко-скростными процессорами.

02.11.09, 23:37

Адрес и телефон
E-mail: rs@corp2.net Skype: rudjuk
г. Киев, ул. Белорусская 30, офис. К2Р (схема проезда)
Мы в сети
Меню
www.megastock.ru Здесь находится аттестат нашего WM идентификатора 000000000000
Проверить аттестат
Наверх