แƒ“แƒ˜แƒแƒฎ, แƒฉแƒ”แƒ›แƒ˜ แƒซแƒ•แƒ”แƒšแƒ˜ แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒฃแƒคแƒ แƒ แƒซแƒšแƒ˜แƒ”แƒ แƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒก แƒฉแƒ˜แƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜, แƒ แƒแƒช แƒ›แƒ” แƒ›แƒแƒ•แƒ˜แƒกแƒ›แƒ˜แƒœแƒ” แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ. แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ”แƒก แƒกแƒ˜แƒ›แƒแƒ แƒ—แƒšแƒ” แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ›แƒแƒช แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— SQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ VMware-แƒ–แƒ”.

แƒ“แƒ˜แƒแƒฎ, แƒฉแƒ”แƒ›แƒ˜ แƒซแƒ•แƒ”แƒšแƒ˜ แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒฃแƒคแƒ แƒ แƒซแƒšแƒ˜แƒ”แƒ แƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.

แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒแƒ“แƒ•แƒ˜แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ, แƒ แƒแƒ› แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒฃแƒ˜แƒ›แƒ”แƒ“แƒแƒ“ แƒ“แƒ’แƒแƒก แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜แƒก แƒฃแƒ™แƒแƒœ. แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— (แƒแƒ แƒ tempdb-แƒ–แƒ” แƒ“แƒ แƒแƒ แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ Delayed Durability) แƒ™แƒแƒ“แƒ˜:

set nocount on
create table _t (v varchar(100))
declare @n int=300000
while @n>0 begin 
  insert into _t select 'What a slowpoke!'
  delete from _t
  set @n=@n-1
  end
GO
drop table _t

แƒฉแƒ”แƒ›แƒก แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ–แƒ” แƒแƒ›แƒแƒก 5 แƒฌแƒแƒ›แƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒฎแƒแƒšแƒ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” 28 แƒฌแƒแƒ›แƒ˜. แƒ แƒแƒ“แƒ’แƒแƒœ SQL แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ”แƒšแƒแƒ“แƒแƒก แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒแƒฅ แƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ™แƒšแƒ” แƒขแƒ แƒแƒœแƒ–แƒแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก. แƒฃแƒฎแƒ”แƒจแƒแƒ“ แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ— แƒ“แƒ˜แƒ“แƒ˜, แƒซแƒšแƒ˜แƒ”แƒ แƒ˜ แƒกแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒฅแƒแƒšแƒแƒฅแƒ˜แƒก แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒแƒจแƒ˜ แƒ“แƒ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒšแƒแƒฎแƒ”แƒก แƒžแƒ˜แƒชแƒ˜แƒก แƒ›แƒ˜แƒ›แƒฌแƒแƒ“แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒกแƒ™แƒฃแƒขแƒ”แƒ แƒ”แƒ‘แƒ–แƒ” - แƒ’แƒแƒ›แƒขแƒแƒ แƒฃแƒœแƒแƒ แƒ˜แƒแƒœแƒแƒ‘แƒ แƒแƒฅ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜, แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒจแƒ”แƒงแƒแƒ•แƒœแƒ”แƒ‘แƒ. แƒ“แƒ แƒ•แƒ”แƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒฅแƒกแƒ”แƒšแƒฃแƒ แƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜, แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒœแƒฃแƒšแƒ˜แƒช แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ›แƒ˜แƒก แƒคแƒแƒกแƒจแƒ˜, แƒ•แƒ”แƒ  แƒแƒฏแƒแƒ‘แƒ”แƒ‘แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• SSD-แƒก แƒšแƒแƒขแƒ”แƒœแƒขแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—.

(แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ”แƒ‘แƒจแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› แƒ›แƒแƒ•แƒ˜แƒขแƒงแƒฃแƒ” - แƒแƒ แƒ˜แƒ•แƒ” แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒ’แƒแƒ›แƒซแƒšแƒ”แƒแƒ‘แƒ แƒ›แƒฅแƒแƒœแƒ“แƒ แƒ“แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ“แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒซแƒšแƒ”แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก:
แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒ - 39 แƒฌแƒแƒ›แƒ˜, 15K แƒขแƒ /แƒฌแƒ›, 0.065ms/io แƒแƒ แƒ›แƒฎแƒ แƒ˜แƒ•แƒ˜
PROD - 360 แƒฌแƒแƒ›แƒ˜, 1600 แƒขแƒ /แƒฌแƒ›, 0.6 ms
แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒ›แƒ”แƒ›แƒฉแƒœแƒ˜แƒ, แƒ แƒแƒ› แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ˜แƒงแƒ)

แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒกแƒแƒฅแƒ›แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ แƒ˜แƒ›แƒแƒœแƒ˜แƒก แƒ–แƒ”แƒขแƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ  แƒœแƒฃแƒšแƒ”แƒ‘แƒ—แƒแƒœ แƒขแƒ แƒ˜แƒ•แƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ—. แƒ˜แƒ› แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ›แƒ แƒ›แƒแƒ›แƒ˜แƒขแƒแƒœแƒ”แƒก, แƒกแƒฎแƒ•แƒแƒ’แƒ•แƒแƒ แƒแƒ“ แƒ˜แƒงแƒ. แƒ›แƒ” แƒ“แƒแƒ•แƒ แƒฌแƒ›แƒฃแƒœแƒ“แƒ˜, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒแƒ แƒ—แƒšแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒ•แƒœแƒ”แƒœ แƒ“แƒ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ” แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ“แƒแƒœ แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒ˜แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ‘แƒ˜แƒ–แƒœแƒ”แƒก แƒšแƒแƒ’แƒ˜แƒ™แƒแƒกแƒ—แƒแƒœ. แƒ แƒแƒฆแƒแƒช แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒ›แƒ˜แƒ•แƒฎแƒ•แƒ“แƒ˜, แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ”แƒซแƒšแƒ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ“แƒแƒ•แƒแƒ’แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ™แƒแƒ“แƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ แƒฉแƒ”แƒ›แƒ˜ - แƒ แƒแƒช แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก - แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒแƒจแƒ˜ แƒ˜แƒก 3-4-แƒฏแƒ”แƒ  แƒœแƒ”แƒšแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก:

create function dbo.isPrime (@n bigint)
returns int
as
  begin
  if @n = 1 return 0
  if @n = 2 return 1
  if @n = 3 return 1
  if @n % 2 = 0 return 0
  declare @sq int
  set @sq = sqrt(@n)+1 -- check odds up to sqrt
  declare @dv int = 1
  while @dv < @sq 
    begin
	set @dv=@dv+2
	if @n % @dv = 0 return 0
	end
  return 1
  end
GO
declare @dt datetime set @dt=getdate()
select dbo.isPrime(1000000000000037)
select datediff(ms,@dt,getdate()) as ms
GO

แƒ—แƒฃ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“แƒแƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ 6-7-8 แƒฌแƒแƒ›แƒ˜. แƒ”แƒก แƒ›แƒแƒฎแƒ“แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ–แƒ” แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒแƒก 25-40 แƒฌแƒแƒ›แƒ˜ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ. แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ, แƒ แƒแƒ› แƒแƒ  แƒ˜แƒงแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜, แƒกแƒแƒ“แƒแƒช แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ, แƒ•แƒ—แƒฅแƒ•แƒแƒ—, 14 แƒฌแƒแƒ›แƒ˜ - แƒ™แƒแƒ“แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒแƒœ แƒซแƒแƒšแƒ˜แƒแƒœ แƒœแƒ”แƒšแƒ, แƒแƒœแƒฃ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒงแƒ, แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒจแƒแƒ•แƒ˜ แƒ“แƒ แƒ—แƒ”แƒ—แƒ แƒ˜.

แฒ แƒ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”? แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ VMware แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ. แƒ˜แƒฅ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒงแƒ - แƒฃแƒแƒ›แƒ แƒแƒ•แƒ˜ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜ แƒ˜แƒงแƒ, แƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ = 0, แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜ แƒ˜แƒงแƒ, แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ“แƒ แƒแƒก แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒฌแƒ แƒแƒค, แƒแƒกแƒ”แƒ•แƒ” แƒœแƒ”แƒš แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” CPU = 100 แƒ”แƒ แƒ— vCPU-แƒ–แƒ”. แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒแƒ แƒ” แƒขแƒ”แƒกแƒขแƒ˜, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ•แƒ—แƒ•แƒแƒšแƒ Pi แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ - แƒขแƒ”แƒกแƒขแƒ›แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ”. แƒจแƒแƒ•แƒ˜ แƒ›แƒแƒ’แƒ˜แƒ˜แƒก แƒกแƒฃแƒœแƒ˜ แƒกแƒฃแƒš แƒฃแƒคแƒ แƒ แƒซแƒšแƒ˜แƒ”แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ.

แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ DEV แƒคแƒ”แƒ แƒ›แƒแƒจแƒ˜ แƒ›แƒ˜แƒ•แƒ”แƒ“แƒ˜, แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ—แƒแƒ›แƒแƒจแƒ˜. แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ› vMotion-แƒ“แƒแƒœ แƒฐแƒแƒกแƒขแƒ˜แƒ“แƒแƒœ แƒฐแƒแƒกแƒขแƒแƒ›แƒ“แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก โ€žแƒ’แƒแƒœแƒ™แƒฃแƒ แƒœแƒ”แƒ‘แƒโ€œ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ โ€žแƒกแƒฌแƒ แƒแƒคแƒ˜โ€œ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก โ€žแƒœแƒ”แƒšแƒ˜โ€œ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ. แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒ”แƒก แƒแƒ แƒ˜แƒก - แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒฅแƒ•แƒก... แƒ›แƒแƒ’แƒ แƒแƒ›... แƒแƒ แƒ. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ แƒœแƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒฐแƒแƒกแƒขแƒ–แƒ”, แƒ•แƒ—แƒฅแƒ•แƒแƒ— A-แƒ–แƒ”, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ B แƒฐแƒแƒกแƒขแƒ–แƒ”. แƒ›แƒ”แƒแƒ แƒ” แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ, แƒžแƒ˜แƒ แƒ˜แƒฅแƒ˜แƒ—, แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ A-แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒœแƒ”แƒšแƒ“แƒ B-แƒ–แƒ”! แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ–แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒขแƒ แƒ˜แƒแƒšแƒ”แƒ‘แƒ“แƒœแƒ”แƒœ แƒ แƒแƒ’แƒแƒ แƒช โ€žแƒกแƒฌแƒ แƒแƒคแƒ˜โ€œ แƒ“แƒ โ€žแƒœแƒ”แƒšแƒ˜โ€œ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜!

แƒ˜แƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒ“แƒแƒœ แƒฐแƒแƒ”แƒ แƒจแƒ˜ แƒ’แƒแƒ’แƒ˜แƒ แƒ“แƒ˜แƒก แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒ˜ แƒกแƒฃแƒœแƒ˜ แƒ˜แƒ“แƒ’แƒ. แƒงแƒแƒ•แƒ”แƒšแƒ˜แƒ•แƒ” แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, Windows แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ˜) - แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ "แƒกแƒฌแƒ แƒแƒคแƒแƒ“" vMotion-แƒ˜แƒ—. แƒ›แƒแƒ’แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ”แƒฌแƒ”แƒ แƒแƒก แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒก - แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒแƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒ แƒแƒ’แƒแƒ แƒช "แƒกแƒฌแƒ แƒแƒคแƒ˜" แƒ“แƒ "แƒœแƒ”แƒšแƒ˜" แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜. แƒแƒกแƒ”แƒ•แƒ”, แƒ”แƒก แƒแƒ  แƒ˜แƒงแƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒกแƒ—แƒแƒœ - แƒ›แƒ” แƒ›แƒแƒ•แƒแƒฎแƒ”แƒ แƒฎแƒ” แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ–แƒ” "แƒœแƒ”แƒšแƒ˜" แƒแƒžแƒแƒ แƒแƒขแƒ˜แƒก แƒ›แƒแƒžแƒแƒ•แƒ”แƒ‘แƒ, แƒกแƒแƒ“แƒแƒช แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒงแƒ.

แƒกแƒแƒกแƒแƒฌแƒแƒ แƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜ Process Explorer Sysinternals-แƒ“แƒแƒœ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒ” SQL แƒ“แƒแƒกแƒขแƒแƒก. แƒœแƒ”แƒš แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒฎแƒแƒ–แƒ›แƒ แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒ›แƒ˜แƒ˜แƒžแƒงแƒ แƒ แƒ—แƒ•แƒแƒšแƒ˜:

ntoskrnl.exe!KeSynchronizeExecution+0x5bf6
ntoskrnl.exe!KeWaitForMultipleObjects+0x109d
ntoskrnl.exe!KeWaitForMultipleObjects+0xb3f
ntoskrnl.exe!KeWaitForSingleObject+0x377
ntoskrnl.exe!KeQuerySystemTimePrecise+0x881 < โ€” !!!
ntoskrnl.exe!ObDereferenceObjectDeferDelete+0x28a
ntoskrnl.exe!KeSynchronizeExecution+0x2de2
sqllang.dll!CDiagThreadSafe::PxlvlReplace+0x1a20
... แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ
sqldk.dll!SystemThread::MakeMiniSOSThread+0xa54
KERNEL32.DLL!BaseThreadInitThunk+0x14
ntdll.dll!RtlUserThreadStart+0x21

แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒ แƒแƒฆแƒแƒช แƒ˜แƒงแƒ. แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒ“แƒแƒ˜แƒฌแƒ”แƒ แƒ:

    class Program
    {
        [DllImport("kernel32.dll")]
        static extern void GetSystemTimePreciseAsFileTime(out FILE_TIME lpSystemTimeAsFileTime);

        [StructLayout(LayoutKind.Sequential)]
        struct FILE_TIME
        {
            public int ftTimeLow;
            public int ftTimeHigh;
        }

        static void Main(string[] args)
        {
            for (int i = 0; i < 16; i++)
            {
                int counter = 0;

                var stopwatch = Stopwatch.StartNew();

                while (stopwatch.ElapsedMilliseconds < 1000)
                {
                    GetSystemTimePreciseAsFileTime(out var fileTime);
                    counter++;
                }

                if (i > 0)
                {
                    Console.WriteLine("{0}", counter);
                }
            }
        }
    }

แƒแƒ› แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒแƒ› แƒแƒฉแƒ•แƒ”แƒœแƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒฃแƒšแƒ˜ แƒจแƒ”แƒœแƒ”แƒšแƒ”แƒ‘แƒ - "แƒกแƒฌแƒ แƒแƒค" แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒ˜แƒก แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก 16-18 แƒ›แƒ˜แƒšแƒ˜แƒแƒœ แƒชแƒ˜แƒ™แƒšแƒก แƒฌแƒแƒ›แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒœแƒ”แƒš แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒ˜แƒšแƒ˜แƒแƒœแƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒก, แƒแƒœ แƒ—แƒฃแƒœแƒ“แƒแƒช 700 แƒแƒ—แƒแƒกแƒก. แƒแƒœแƒฃ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก 10-20-แƒฏแƒ”แƒ  (!!!). แƒ”แƒก แƒฃแƒ™แƒ•แƒ” แƒ›แƒชแƒ˜แƒ แƒ” แƒ’แƒแƒ›แƒแƒ แƒฏแƒ•แƒ”แƒ‘แƒ แƒ˜แƒงแƒ: แƒงแƒแƒ•แƒ”แƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, Microsoft-แƒ˜แƒกแƒ แƒ“แƒ VMware-แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒญแƒ”แƒ“แƒ•แƒ˜แƒก แƒกแƒแƒคแƒ แƒ—แƒฎแƒ” แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ“แƒ, แƒ แƒแƒ—แƒ แƒ›แƒแƒ— แƒ˜แƒกแƒ แƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒชแƒ”แƒ›แƒ“แƒœแƒ”แƒœ.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒžแƒ แƒแƒ’แƒ แƒ”แƒกแƒ˜ แƒจแƒ”แƒฉแƒ”แƒ แƒ“แƒ - แƒแƒ แƒ“แƒแƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜, แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ˜, แƒ•แƒ˜แƒ แƒฃแƒกแƒฃแƒšแƒ˜ แƒ˜แƒกแƒขแƒ”แƒ แƒ˜แƒ แƒ“แƒ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒ˜ แƒ–แƒ แƒ“แƒ. แƒ›แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ•แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ“แƒ˜ แƒฉแƒ”แƒ›แƒก แƒ™แƒแƒšแƒ”แƒ’แƒ”แƒ‘แƒก แƒฏแƒแƒ“แƒแƒกแƒœแƒฃแƒ  แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ› แƒ›แƒแƒ— แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒกแƒฏแƒ”แƒ แƒแƒ“แƒแƒ— แƒฉแƒ”แƒ›แƒ˜ - แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ› VMware แƒแƒœแƒ”แƒšแƒ”แƒ‘แƒก แƒ™แƒแƒ“แƒก 10-20-แƒฏแƒ”แƒ , แƒซแƒแƒšแƒ˜แƒแƒœ แƒแƒ›แƒแƒ–แƒ แƒ–แƒ”แƒœแƒ˜ แƒ˜แƒงแƒ.

แƒ•แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒ”แƒขแƒแƒœแƒ, แƒ แƒแƒช แƒ›แƒแƒœแƒ”แƒšแƒ”แƒ‘แƒ“แƒ. แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒแƒ“แƒ, แƒ แƒแƒ› แƒ•แƒ˜แƒžแƒแƒ•แƒ” แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ - แƒชแƒฎแƒ”แƒšแƒ˜ แƒจแƒขแƒ”แƒคแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ แƒ—แƒ•แƒ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ, แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒแƒœ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒฅแƒชแƒ”แƒ•แƒ“แƒ แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒก "แƒกแƒฌแƒ แƒแƒคแƒแƒ“". แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒกแƒแƒ›แƒฃแƒ“แƒแƒ›แƒแƒ“. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒช แƒ›แƒแƒ แƒ—แƒแƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ’แƒแƒกแƒ•แƒšแƒ แƒ“แƒ แƒกแƒแƒญแƒ”แƒ–แƒ” แƒ“แƒแƒ™แƒแƒ™แƒฃแƒœแƒ”แƒ‘แƒ - แƒแƒœแƒฃ แƒ’แƒแƒ›แƒแƒชแƒ•แƒšแƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜

แƒกแƒแƒ‘แƒแƒšแƒแƒแƒ“, แƒฉแƒ”แƒ›แƒ›แƒ แƒแƒ›แƒ”แƒ แƒ˜แƒ™แƒ”แƒšแƒ›แƒ แƒ™แƒแƒšแƒ”แƒ’แƒ”แƒ‘แƒ›แƒ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒ˜แƒžแƒแƒ•แƒ”แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜.

แƒ“แƒ˜แƒแƒฎ, แƒฉแƒ”แƒ›แƒ˜ แƒซแƒ•แƒ”แƒšแƒ˜ แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒฃแƒคแƒ แƒ แƒซแƒšแƒ˜แƒ”แƒ แƒ˜แƒ แƒ•แƒ˜แƒ“แƒ แƒ” แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.

แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒแƒ“แƒœแƒ”แƒœ แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒ—!

  • แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ“แƒ˜แƒ“แƒ˜ แƒกแƒแƒฅแƒ›แƒ”. แƒ›แƒแƒ’แƒ แƒแƒ›: "แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜" แƒฐแƒแƒกแƒขแƒ˜แƒ“แƒแƒœ "แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ" แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ˜แƒก แƒฐแƒแƒกแƒขแƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒกแƒแƒก, VMware-แƒ›แƒ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒแƒก GetTimePrecise แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜.
  • แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ, แƒ—แƒฃ แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ–แƒฃแƒกแƒข แƒ“แƒ แƒแƒก แƒ›แƒ˜แƒšแƒ˜แƒแƒœแƒฏแƒ”แƒ  แƒฌแƒแƒ›แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ SQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜.
  • แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒจแƒ˜แƒœแƒ”แƒšแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ SQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒแƒ›แƒแƒก (แƒ˜แƒฎ. แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ)

แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜, แƒ แƒแƒชแƒ แƒ”แƒก แƒ แƒแƒ™แƒ˜ แƒซแƒšแƒ˜แƒ”แƒ แƒแƒ“ แƒฃแƒ แƒขแƒงแƒแƒ›แƒก. แƒ“แƒ แƒ›แƒแƒ˜แƒœแƒช, แƒ“แƒ˜แƒแƒฎ, แƒกแƒแƒญแƒ”แƒ–แƒ” แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒ— (แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ—) แƒ•แƒแƒ˜แƒซแƒฃแƒšแƒ” VMware-แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก โ€žแƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒโ€œ แƒ“แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒฐแƒแƒกแƒขแƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ” แƒ’แƒแƒฎแƒ“แƒ แƒแƒžแƒแƒ แƒแƒขแƒ˜แƒก โ€žแƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜โ€œ แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”.

แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ

www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ•แƒ— TSC-แƒ˜แƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ“แƒแƒœ TSC-แƒ˜แƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก TSC แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒแƒก แƒ“แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ“แƒแƒœ TSC-แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒแƒก แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒ˜ แƒ”แƒคแƒ”แƒฅแƒขแƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก. แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒฐแƒแƒกแƒขแƒ–แƒ” แƒ›แƒ˜แƒ’แƒ แƒแƒชแƒ˜แƒ, แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒ“แƒแƒœ แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ แƒแƒœ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ–แƒ” แƒ“แƒแƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก TSC-แƒ˜แƒก แƒจแƒ”แƒฃแƒฌแƒงแƒ•แƒ”แƒขแƒ”แƒš แƒ’แƒแƒ“แƒแƒฎแƒขแƒแƒ›แƒแƒก. แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒกแƒขแƒฃแƒ›แƒแƒ แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ•แƒ”แƒ  แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ แƒแƒœ แƒแƒ•แƒšแƒ”แƒœแƒก แƒ“แƒ แƒแƒ˜แƒก แƒแƒฆแƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช TSC แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ. แƒฌแƒแƒ แƒกแƒฃแƒšแƒจแƒ˜, แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ˜แƒงแƒ แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒแƒ‘แƒ”แƒœ TSC-แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ TSC-แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ“แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ”แƒ‘แƒจแƒ˜. แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒแƒกแƒ”แƒ•แƒ” แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒ–แƒแƒ›แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒœ แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜ แƒ–แƒฃแƒกแƒข แƒฌแƒงแƒแƒ แƒแƒก แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒจแƒ˜.

แƒ›แƒแƒ™แƒšแƒ”แƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜

monitor_control.virtual_rdtsc = FALSE

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒšแƒ‘แƒแƒ— แƒ’แƒแƒฅแƒ•แƒ— แƒจแƒ”แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ: แƒ แƒแƒขแƒแƒ› แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒก SQL แƒแƒกแƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ GetTimePrecise-แƒก?

แƒ›แƒ” แƒแƒ  แƒ›แƒแƒฅแƒ•แƒก SQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒฌแƒงแƒแƒ แƒแƒก แƒ™แƒแƒ“แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒแƒ›แƒแƒก แƒแƒ›แƒ‘แƒแƒ‘แƒก. SQL แƒแƒ แƒ˜แƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ™แƒแƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒ”แƒœแƒขแƒฃแƒšแƒแƒ‘แƒ˜แƒ—, แƒกแƒแƒ“แƒแƒช แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ—แƒ”แƒ›แƒ แƒ“แƒ แƒแƒ“แƒแƒ“แƒ แƒ แƒฃแƒœแƒ“แƒ โ€žแƒ“แƒแƒ—แƒ›แƒแƒ‘แƒ“แƒ”แƒกโ€œ. แƒกแƒแƒ“ แƒแƒ แƒ˜แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒšแƒแƒ“? แƒกแƒแƒ“แƒแƒช แƒแƒ แƒ˜แƒก แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒšแƒแƒ“แƒ˜แƒœแƒ˜ - แƒฉแƒแƒ™แƒ”แƒขแƒ•แƒ แƒแƒœ IO. แƒ™แƒแƒ แƒ’แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒฉแƒ•แƒ”แƒœ แƒ•แƒขแƒ แƒ˜แƒแƒšแƒ”แƒ‘แƒ— แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ— แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ”แƒ‘แƒก? แƒ›แƒแƒจแƒ˜แƒœ แƒแƒจแƒ™แƒแƒ แƒ แƒ“แƒ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜ (แƒ”แƒก แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ—แƒแƒ แƒฏแƒ˜แƒ›แƒแƒœแƒ˜), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, SQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒฃแƒคแƒ—แƒ แƒ’แƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒ—แƒ˜ แƒœแƒแƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ”แƒ‘แƒ—แƒแƒœ (แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ) แƒแƒฅแƒชแƒ”แƒ•แƒก แƒ™แƒแƒ“แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒ“.

แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, แƒ—แƒฃ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก NATIVELY COMPILED-แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒแƒฎแƒ•แƒ”แƒ•แƒ—, แƒ˜แƒก แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒ“แƒ แƒแƒ˜แƒก แƒ—แƒฎแƒแƒ•แƒœแƒแƒก แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” 10-แƒฏแƒ”แƒ  แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒ™แƒแƒแƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒš แƒ›แƒ แƒแƒ•แƒแƒšแƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒแƒก? แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒแƒ“ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ’แƒ•แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ PREEMPTIVE MULTITASKING SQL-แƒจแƒ˜.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ