we are sorry, we are open

1.11.2011

Нетегированный VLAN в транковом порту свича Cisco

СисАдминство — Тэги: , — Админ @ 18:43:44.

В свич Cisco 3750 включен клиент, порт на свиче настроен в аксес-режиме, т.е. передаёт нетегированные пакеты. Возникла необходимость добавить клиенту ещё один VLAN, но при этом первый оставить нетегированным. Решается это при помощи «родных» VLAN-ов (native vlan), который и будет передаваться нетегированным при том, что порт будет в режиме транка. Вот простой пример, в котором VLAN 500 объявлен родным и передаётся нетегированным, а 100-й передаётся тегированным:
interface FastEthernet0/1
description Test
switchport trunk encapsulation dot1q
switchport trunk native vlan 500
switchport trunk allowed vlan 100,500
switchport mode trunk

Обратите внимание, что родной VLAN тоже надо указывать в списке разрешённых в транке.

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

Посмотреть эти настройки можно командами «show int f0/1 switchport» и «show int f0/1 trunk». Кстати, в выводе первой команды можно увидеть строчку, в которой говорится, что на родном VLAN-е включено тегирование:
cs#sh int f0/1 switchport
...
Administrative Native VLAN tagging: enabled
...

Однако, работает всё нормально и в Интернете люди склонны считать, что это просто глюк и ссылаются на вывод другой команды:
cs#sh vlan dot1q tag native
dot1q native vlan tagging is disabled

Если на другой стороне тоже свич Cisco, то там также нужно указать родной влан, транк и т.п. Однако, если на той стороне будет стоять, например, компьютер с FreeBSD, то родной VLAN настраивается и работает как обычный, нетегированный линк, например:
ifconfig xl0 10.0.1.2 netmask 255.255.255.0
Ну и интерфейс для тегированного VLAN-а настраивается как обычно в таких случаях, например:
ifconfig vlan100 create vlan 100 vlandev xl0
ifconfig vlan100 192.168.1.2 netmask 255.255.255.0

Указание родного VLAN-а для создания подинтерфейса на роутере Cisco я не проверял, но вроде должно быть как-то так:
cs(config)# int f0/1.500
cs(config-subif)# encapsulation dot1q 500 native
cs(config-subif)# ip address 10.0.1.2 255.255.255.0

19.12.2010

И ещё один интересный замер MySQL-запроса — удаление строк

СисАдминство — Тэги: — Админ @ 12:35:09.

Таблица имеет почти 16 тысяч строк. Надо её почистить от старых записей:
mysql> delete from log where id < 188595088;
Query OK, 8798074 rows affected (33 min 35.91 sec)

При этом база была в работе и в таблицу данные поступали без видимых проблем.

9.12.2010

Ещё один замер работы с таблицами MySQL

СисАдминство — Тэги: — Админ @ 23:31:36.

Я уже как-то проводил оптимизацию нескольких MySQL-таблиц, для сведения замерял время и объёмы и размещал эти замеры здесь.

Похоже понадобилась оптимизация ещё одной таблицы — стал замечать медленный запрос,  которого раньше даже видно не было. Ничего особенно не менялось, чтобы вызвать какое-либо замедление выполнения запросов. Таблица на момент написания этой заметки содержала 1659783 записей, объём IBD-файла составлял почти 2 ГБ (2000683008 Б). Таблица содержит тексты личных сообщений пользователей форума, так что записи в ней часто удаляются и добавляются, так что оптимизация не помешает.

Команда «optimize table» выполнялась 5 минут 28 секунд и размер файла уменьшился до 1,4 ГБ (1488977920 Б).

Посмотрим, изменит ли это ситуацию с медленным запросом.

Попутно решил оттимизировать и несколько других таблиц.

2060421 строк, файл в 400МБ обработан за 1 минуту 54 секунда, размер файла стал 310 МБ.
434582 строк, файл в 330МБ обработан за 37 секунд, размер файла уменьшился мало — до 315 МБ.
Показателен файл таблицы с неким кэшем движка — 1588 строк, объём файла 1,9 ГБ — оптимизация длилась меньше 1 секунды и размер файла стал 10 МБ.



1.8.2010

Пара замеров работы с таблицами MySQL

СисАдминство — Тэги: — Админ @ 11:57:21.

Я не такой уж и большой специалист по MySQL, так что приведённые далее наблюдения прошу не считать показательными — это просто мои эксперименты на моём сервере и с моей БД )

Озаботился проблемой разрастания таблиц в БД. Надо их дефрагментировать. Таблицы в InnoDB. Провёл пару замеров с одной из самых больших таблицей под рукой — log:
— больше 3 миллионов записей;
— размер файла log.ibd — 3,5ГБ;

Для начала мне нужно было заменить значение одного из полей таблицы:
mysql> update log set tip='no data';
До замены в этом поле была довольно длинная строка с информацией user-agent, полученной от браузеров, посетителей, т.е. новая строка в несколько раз короче старой.
Результаты:
Query OK, 3033596 rows affected (57 min 56.91 sec)
Rows matched: 3239214 Changed: 3033596 Warnings: 0

Размер файла заметно увеличился — 4ГБ. Очевидно надо дефрагментировать таблицу (это был плавный переход к следующему тесту)))

Второй тест — оптимизация таблицы:
mysql> optimize table log;
Результаты:
mydb.log | optimize | note | Table does not support optimize, doing recreate + analyze instead
mydb.log | optimize | status | OK
2 rows in set (38 min 47.55 sec)

Размер файла существенно уменьшился — 2,7ГБ, а было ведь 4ГБ!
Напрашивается вывод о том, что оптимизацию надо проводить почаще, но тут надо учитывать, что во время оптимизации таблица будет заблокирована и недоступна для ваших скриптов.

Для полноты картины конечно не обойтись без информации о сервере — старенькая рабочая станция:
— софт — FreeBSD 7.2, apache 2, php, MySQL;
— Intel Pentium4 3.40GHz;
— RAM 3GB;
— система и БД лежат на двух разных винтах;
— сервер, фактически, выделенный;

Следующим будет оптимизация боевого, сильнонагруженного сервера, с кучей больших таблиц, общим размеров гигов под 10. Результаты сообщу дополнительно. Вот только надо выбрать время и заявить ТО на пару часов )

Дополнение от 03-08-2010

Добавление индекса к база размером более 4ГБ и с более 4 с половиной мульёна строк заняло 18 минут полного отказа СУБД от обслуживания:
mysql> alter table log add index (id_site);
Query OK, 4784444 rows affected (18 min 49.74 sec)
Records: 4784444 Duplicates: 0 Warnings: 0

27.10.2009

Постустановка Zend Optimizer

СисАдминство — Тэги: — Админ @ 20:47:52.

Каждый раз при установке Zend Optimizer почему-то возникает проблема с копированием нужных файлов инсталлятором из дистрибутива Zend Optimizer. Может я что-то не так делаю при установке, которая, к слову, заключается всего лишь в запуске инсталлятора и ответах на пару простых вопросов.
Вероятно проблема возникает из-за того, что я, чаще всего, ставлю PHP не как модуль Апача, а как CGI и, кроме того, зачастую ставлю несколько версий и вариантов PHP для нескольких версий MySQL )
(продолжение…)

← Назад в прошлое

Последние комментарии:

Powered by WordPress (30 queries. 0,318 seconds)