Profile

Click to view full profile
Hi, I'm Veerapat Sriarunrungrueang, an expert in technology field, especially full stack web development and performance testing.This is my coding diary. I usually develop and keep code snippets or some tricks, and update to this diary when I have time. Nowadays, I've been giving counsel to many well-known firms in Thailand.
view more...

Monday, January 27, 2014

Static method behavior in multiple threads (Java / C#)

Static method behaviors in multiple threads is the same to normal method that used from a class instance. The difference is that we can call it from class directly. Static method will create its own copies for its local variables because each thread has its own stack. The only things concerned in multiple threads are static fields, static objects. If the objects can be accessed from multiple threads, it need lock or synchronize.

References:

Tuesday, January 21, 2014

Python Tools for Visual Studio

Recently, I have tied to get back to Python. One problem when I get back into it is IDE. I did not mean that Python IDEs are not good but I am really get familiar to Visual Studio. Now, there is a good new for Visual Studio user that now it has an extension on Visual Studio support for Python. Link: http://pytools.codeplex.com/.

Friday, January 10, 2014

Calculate Indexes size in SQL Azure

Why need to calculate size for indexes? It's simply because in Azure management portal show only the size of raw data not for indexes which indexes size is also included to count them as total storage used. I faced this problem during spamming data on 1GB size of SQL Azure. In my management portal show around 600MB is used but when updating the indexes, it show message like 'The database has reached its size quota' and receive an error code 40544. This problem may occurred depends on your indexes size growth rate. So, in order to track the size of our indexes use the following command to check:
SELECT (SUM(reserved_page_count) * 8192) / 1024 / 1024 AS DbSizeInMB
FROM    sys.dm_db_partition_stats
To track the size for each indexes, use the command below instead:
DECLARE @SizeInBytes bigint
SELECT @SizeInBytes =
(SUM(reserved_page_count) * 8192)
    FROM sys.dm_db_partition_stats

SELECT idx.name, SUM(reserved_page_count) * 8192 'bytes'
FROM sys.dm_db_partition_stats AS ps
    INNER JOIN sys.indexes AS idx ON idx.object_id = ps.object_id AND idx.index_id = ps.index_id
WHERE type_desc = 'NONCLUSTERED'
GROUP BY idx.name
ORDER BY 2 DESC
References: