Just few weeks after Amazon exposed its Virtual Enterprise Cloud, OpSource, a respected hosting provider that is targeted on the SaaS market is exposing its own solution targeted to the same market. OpSource will reveal its product in a Webinar on Wednesday, October 7, 2009 9:00am PDT / Noon EDT.
Stay tuned,
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
News, Personal view and perspective of the software performance field, cloud computing and industry based on my experience
Sep 23, 2009
Sep 17, 2009
The Basics of SQL Server Performance
When you first hit a SQL Server that cannot server even another single hit you should start with following basic methods:
-- DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR)
-- DBCC SQLPERF('sys.dm_os_latch_stats', CLEAR)
-- show the sql waitstatistics:
SELECT wait_type
, SUM(waiting_tasks_count) AS waiting_tasks_count
, SUM(wait_time_ms) AS wait_time_ms
, SUM(max_wait_time_ms) AS max_wait_time_ms
, SUM(signal_wait_time_ms) AS signal_wait_time_ms
, SUM(wait_time_ms/NULLIF(waiting_tasks_count,0)) as 'Avg_wait_time_ms per waittype req.'
FROM sys.dm_os_wait_stats
WHERE wait_type NOT IN
(
'SQLTRACE_BUFFER_FLUSH'
, 'LAZYWRITER_SLEEP'
, 'CHECKPOINT_QUEUE'
, 'BROKER_TO_FLUSH'
)
AND wait_type NOT LIKE 'XE%'
AND wait_type NOT LIKE 'PREEMPT%'
AND wait_type NOT LIKE 'SLEEP%'
AND wait_type NOT LIKE '%REQ%DEAD%'
AND waiting_tasks_count > 0
GROUP BY wait_type
WITH ROLLUP
ORDER BY wait_time_ms DESC
After doing these initial steps, you finally gathhered enough data to solve the issue...
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
moshe at rocketier.com
- Analyze the application and understand who are the most massive business processes, and analyze their performance. High odds that the problem lies there.
- Detect open connections using the Activity Monitor
- Check objects execution time using the SQL Server reports (of course assuming you are lucky enough and all SQL Server access is done using stored procedures).
- Implement profiling and check the queries are most frequent and most time consuming.
- Detect dead locks (a good sign for that this is the case is low CPU utilization).
- Detect slowdown source by using the following query (thanks to Henk van der Valk):
-- DBCC SQLPERF('sys.dm_os_wait_stats', CLEAR)
-- DBCC SQLPERF('sys.dm_os_latch_stats', CLEAR)
-- show the sql waitstatistics:
SELECT wait_type
, SUM(waiting_tasks_count) AS waiting_tasks_count
, SUM(wait_time_ms) AS wait_time_ms
, SUM(max_wait_time_ms) AS max_wait_time_ms
, SUM(signal_wait_time_ms) AS signal_wait_time_ms
, SUM(wait_time_ms/NULLIF(waiting_tasks_count,0)) as 'Avg_wait_time_ms per waittype req.'
FROM sys.dm_os_wait_stats
WHERE wait_type NOT IN
(
'SQLTRACE_BUFFER_FLUSH'
, 'LAZYWRITER_SLEEP'
, 'CHECKPOINT_QUEUE'
, 'BROKER_TO_FLUSH'
)
AND wait_type NOT LIKE 'XE%'
AND wait_type NOT LIKE 'PREEMPT%'
AND wait_type NOT LIKE 'SLEEP%'
AND wait_type NOT LIKE '%REQ%DEAD%'
AND waiting_tasks_count > 0
GROUP BY wait_type
WITH ROLLUP
ORDER BY wait_time_ms DESC
After doing these initial steps, you finally gathhered enough data to solve the issue...
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
moshe at rocketier.com
Infinispan: Open Source is getting into the Data Grid Market
I came across Pawel Plaszczak blog post that describes a new product from JBoss named Infinispan (still in beta), which aims the data grid market (seems like things are getting warmer). Pawel also provided a deep comparison between Inifinspan and leading commercial products such as Oracle Coherence and Gigaspaces XAP.
This product is still in beta, and is missing features that exist in the commercial products, but it's worth to take a look on it,
Keep Performing!
Moshe Kaplan. RockeTier. The Performance Experts.
This product is still in beta, and is missing features that exist in the commercial products, but it's worth to take a look on it,
Keep Performing!
Moshe Kaplan. RockeTier. The Performance Experts.
Labels:
Data Grid,
Gigaspaces XAP,
Infinispan,
JBoss,
Oracle Coherence
Sep 15, 2009
MySQL Slow Conncections
One of our clients had a performance issue with slow connections to its MySQL database.
The system configuration is MySQL 5.1 on Red Hat, and the application Java/Tomcat based and ORM is done using iBatis.
Several things can be done to solve this issue (make the open connection in few ms instead of 9 seconds) :
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
The system configuration is MySQL 5.1 on Red Hat, and the application Java/Tomcat based and ORM is done using iBatis.
Several things can be done to solve this issue (make the open connection in few ms instead of 9 seconds) :
- Use skip-name-resolve in my.cnf file in order to avoid DNS queries that slow down the connections (my.cnf example can be found in http://forums.mysql.com/read.
php?11,28690 ). Another work around can be writing the host resolve in the server hosts file. - Use MySQL Connector/j 5.1.17 that makes iBatis run faster twice than 5.1.16.
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
Labels:
iBatis,
my.cnf,
MySQL,
skip-name-resolve,
Slow Connections
Aug 22, 2009
ITIL, Performance Boosting and Presentations
Hi,
In the last past months RockeTier worked (and keep working) with several large organizations in several aspects: 1) design new systems which are capable to do more based on commodity hardware ; 2) boosting existing software performance (lean projects) and 3) establish processes in large organization that support the life cycle of performance from event management, problem management to establishing a continues performance boosting to the organization systems from RFI to production (ITIL oriented projects).
We decided to share with you a presentation to a large telecom oriented company that is considering these days getting into the performance boosting and Lean projects for its main product lines.
Keep Performing,
Moshe Kaplan. RockeTier. The performance and cloud experts.
In the last past months RockeTier worked (and keep working) with several large organizations in several aspects: 1) design new systems which are capable to do more based on commodity hardware ; 2) boosting existing software performance (lean projects) and 3) establish processes in large organization that support the life cycle of performance from event management, problem management to establishing a continues performance boosting to the organization systems from RFI to production (ITIL oriented projects).
We decided to share with you a presentation to a large telecom oriented company that is considering these days getting into the performance boosting and Lean projects for its main product lines.
Keep Performing,
Moshe Kaplan. RockeTier. The performance and cloud experts.
Aug 18, 2009
Shared Cache: The Windows and .Net memcached
Hi again,
In memory databases and cache are must in any large scale system these days (you can ask Facebook architects regarding it). The Linux guys have memcached and there are many other products (with much more features of course) such as Gigaspaces XAP, Oracle Coherence and Scaleout. However, since Microsoft did not release yet the long expected Velocity product (will it ever be in production?), it seems there is a clear winner to the Windows environment: SharedCache. This product is some kind of a memcached porting to native managed .Net code and it is licensed under LGPL!.
SharedCached is already in production in several major sites including theport.com and it is fully documented. The product supports all major requirement from a caching product including:
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
In memory databases and cache are must in any large scale system these days (you can ask Facebook architects regarding it). The Linux guys have memcached and there are many other products (with much more features of course) such as Gigaspaces XAP, Oracle Coherence and Scaleout. However, since Microsoft did not release yet the long expected Velocity product (will it ever be in production?), it seems there is a clear winner to the Windows environment: SharedCache. This product is some kind of a memcached porting to native managed .Net code and it is licensed under LGPL!.
SharedCached is already in production in several major sites including theport.com and it is fully documented. The product supports all major requirement from a caching product including:
- Partitioning - just like sharding, every server is taking care of part of the data, and the application server are talking with every cache server (unless of course you were wise enough to shard the application servers as well).
- Replicated Caching - keeping data in multiple instances, making sure data will always be available and lots of reads will be handled correctly.
Keep Performing,
Moshe Kaplan. RockeTier. The Performance Experts.
Labels:
Facebook,
In memory database,
Memcached,
SharedCache
Aug 13, 2009
Cloud Computing and Windows 2008
Hi,
It was a long time since the last post... more working, less talking....
Pain
This time we'll talk about a real pain in the Microsoft camp: why Windows 2008 is rarely supported by cloud providers such as Amazon AWS/EC2, AppNexus and Rackspace Cloud?
One of the few exceptions is Microsoft Azure which is still in CTP and is using a modified Windows 2008 version.
New features, New challenges...
Windows 2008 which has a lot of new features such as safer service shutdown and kernel transaction manager also includes a new activation method (which is probably familiar to those of you who use Vista).
According to my conversation with a leading cloud provider, this new activation method prevents them from generating images with predefined keys. Therefore, they cannot provide on demand Windows 2008 instances. The cloud providers are currently in advanced negotiations with Microsoft and provide only Windows 2003 instances.
The Question
Are there hidden causes behind this Microsoft restriction? or will a solution will be found before Azure RTM? Only time will tell...
Keep Performing,
Moshe Kaplan. RockeTier - The Performance and Cloud Experts.
It was a long time since the last post... more working, less talking....
Pain
This time we'll talk about a real pain in the Microsoft camp: why Windows 2008 is rarely supported by cloud providers such as Amazon AWS/EC2, AppNexus and Rackspace Cloud?
One of the few exceptions is Microsoft Azure which is still in CTP and is using a modified Windows 2008 version.
New features, New challenges...
Windows 2008 which has a lot of new features such as safer service shutdown and kernel transaction manager also includes a new activation method (which is probably familiar to those of you who use Vista).
According to my conversation with a leading cloud provider, this new activation method prevents them from generating images with predefined keys. Therefore, they cannot provide on demand Windows 2008 instances. The cloud providers are currently in advanced negotiations with Microsoft and provide only Windows 2003 instances.
The Question
Are there hidden causes behind this Microsoft restriction? or will a solution will be found before Azure RTM? Only time will tell...
Keep Performing,
Moshe Kaplan. RockeTier - The Performance and Cloud Experts.
Subscribe to:
Posts (Atom)