Thursday Dec 11, 2008

Monitoring ZFS Statistic on the system loaded with Oracle database

Nothing happens without a reason. My previous post about Monitoring ZFS Statistic is not exception. This week I had T5240 (128 threads, 64GB memory, Solaris 10 10/08 aka U6) with 6140 attached and not loaded with other my projects. So I decided to load the boxes with Oracle on ZFS (binaries, datafiles, logs) and run some tests. Not a benchmarking. Just to check if this can live and breathe. I also wanted to check the battle for the memory between Oracle SGA (set to 32GB), 3800 processes connecting to database (taking approx. 5MB not shared memory each) and ZFS.

On storage I have made single 1TB RAID1 LUN and put ZFS on it. No data/logs of ZFS separation. Keeping it simple.

root@rac05#zpool list
oracle  1016G   243G   773G    23%  ONLINE  -

Arcstat script was modified a little further (lines 82, 177, 229 and 230) so I don't have too many zeros in statistics by going up from bytes to MB. Download new arcstat script and description file for dimstat.

 81 my $version = "0.1";
 82 my $mega = 1024 \* 1024;
 83 my $cmd = "Usage: [-hvx] [-f fields] [-o file] [interval [count]]\\n";
171 sub prettynum {
172     my @suffix=(' ','K', 'M', 'G', 'T', 'P', 'E', 'Z');
173     my $num = $_[1] || 0;
174     my $sz = $_[0];
175     my $index = 0;
176     return sprintf("%s", $num) if not $num =~ /\^[0-9\\.]+$/;
177     return sprintf("\*%d", $sz, $num);
178     while ($num > 1000 and $index < 8) {
179         $num = $num/1000;
180         $index++;
181     }
182     return sprintf("%\*d", $sz, $num) if ($index == 0);
183     return sprintf("%\*d%s", $sz - 1, $num,$suffix[$index]);
184 }
200 sub calculate {
229     $v{"arcsz"} = $cur{"size"}/$mega;
230     $v{"c"} = $cur{"c"}/$mega;
238 }

On the picture you may see results of monitoring:

At 1:01 test was started. It took 1 hour until all processes become ready (1 process was started each 1 second). Then Oracle database was busy between 2:04 and 2:53.

As you can see ZFS is taking more memory if it can, but it stays "polite" by freeing this memory for other processes when it needed.

I will be glad to hear from you if you have any thoughts and experience running Oracle Database on ZFS.

Thanks to Valery for his Perl Syntax highlighting plugin for Netbeans.

Sunday Dec 07, 2008

Monitoring ZFS Statistic

By combining two great tools arcstat and dimstat you can get ZFS statistics in:

  • table view

  • chart view

  • any date/time interval

  • host to host compare

For example, online table and chart view

[Read More]

Thursday Oct 30, 2008

dimSTAT в примерах

Oracle runs best on Sun series.

На прошлой неделе мне довелось побывать на семинаре Oracle RAC DD4D (deep dive for developers), организованном компанией Oracle в Москве. Семинар крайне интересный и полезный, рекомендую! Огромное спасибо Дмитрию и всем докладчикам!

В числе обсуждённых тем была тема производительности. А конкретно производительности кластера Oracle RAC. Это даже не вопрос, что системные администраторы, администраторы баз данных и пользователи все хотят иметь максимально быструю систему. Но прежде чем приступать к настройке системы необходимо знать, что же с ней происходит. От пользователей вы можете услышать, что работает недостаточно хорошо. В руках администраторов базы есть как минимум стандартные средства мониторинга от Oracle (Enterprise Manager). А что же в руках системного администратора? Множество \*stat команд системы, выдающих столбцы цифр?

Что если нет опыта работы с командами \*stat? Не все помнят ключи запуска этих команд. Необходимо иметь информацию по длительному промежутку времени. В таком случае поможет dimSTAT. В этом посте я покажу несколько картинок из dimSTAT на четырёхнодовом кластере Oracle RAC на Solaris 10.

Основные возможности dim_STAT:

  • web интерфейс

  • Вся собираемая статистика хранится в одном месте

  • Возможность одновременно смотреть насколько собранных статистик

  • Интерактивное (Java) или статическое (PNG) представление

  • Мониторинг в реальном времени

  • Мониторинг нескольких серверов одновременно

  • Анализ по любому промежутку времени

  • Возможность добавления собственных расширений (Add-On)

  • Автоматизация действий

  • Закладки к выбранным статистикам

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

Использование CPU в пользовательском контексте.

Использование CPU  в системном и в системном+пользовательском контекстах.

Чтение+запись на диск и Сеть In+Out

Детализация по количетсву сетевых пакетов In и Out:

dimSTAT by examples

Oracle runs best on Sun series.

Last week I was attending Oracle RAC DD4D (deep dive for developers) seminar here in Moscow, Russia. No need to say how useful and full of information this seminar was. Thanks to Dmitry and all presenters!

Among many things we covered performance. Specifically it was Oracle RAC performance. System administrators, DBA and Users all wants to have better and faster system. But before you try to make your system better you have to take a look at your system from all possible angles. Users can tell you about their's personal feelings: “Oh, my program A works so slow”. In DBA's hands there are powerful tools from Oracle and other vendors. But what is in sysadmin's hands? Is it still \*stat commands producing rows of data?

What if you don't have experience looking into \*stat commands output and hardly can remember theirs syntax and even names? In that case all you need is dimSTAT. In this post I will show some screenshots of dimSTAT monitoring four Solaris 10 nodes cluster running Oracle RAC.

The main features of dim_STAT are:

  • A web based user interface

  • All collected data is saved in a central database

  • Multiple data views

  • Interactive (Java) or static graphs (PNG)

  • Real Time monitoring

  • Multi-Host monitoring

  • Post analyzing

  • Statistics integration (Add-On)

  • Professional reporting with automated features

  • One-click STAT-Bookmarks

Here are few examples of what can you see with dimSTAT. All screenshots shown here were taken from different times, so most of them does not correlate. Although shown examples are multi-host you may do analysis per hosts with any details you need.

CPU usage in User context:

CPU Usage in System and User+System:

Storage Read+Write and Network In+Out:

Next two charts will show you network packets In and Out:


Roman (pomah) Ivanov, ISV Engineering. Tips how to run Oracle best on Sun. Performance monitoring and tuning for system administrators. OpenSolaris user experience.


« April 2014