আমার দৃষ্টান্তটি ভালভাবে সম্পাদন করার জন্য পর্যায়ক্রমিক পুনঃসূচনাগুলি কেন প্রয়োজন?


22

আমরা এসকিউএল 2005-এ একটি প্রোডাকশন ডিবি সার্ভার পেয়েছি Everything কিছুটা কিছু সময়ের জন্য সাধারণত চলতে থাকে তবে কয়েক সপ্তাহ পরে আমরা একটি উল্লেখযোগ্য পারফরম্যান্স ড্রপ দেখতে পাই। কেবলমাত্র এসকিউএল সার্ভার পুনরায় চালু করা কর্মক্ষমতাটিকে স্বাভাবিক অবস্থায় ফিরিয়ে দেয়।

কিছু পটভূমি:

  • 1200 টির বেশি ডাটাবেস (বেশিরভাগ একক ভাড়াটে, কিছু মাল্টি-ভাড়াটে)) যে কেউ কেবল বহু বহু ভাড়াটে যাওয়ার বিষয়ে বক্তৃতা দেওয়ার আগে এই কাঠামোটি রাখার বৈধ কারণ রয়েছে ......
  • র‌্যাম 16 জিবি। পুনরায় চালু করার পরে, এসকিউএল সার্ভারের 15 জিবি ব্যবহারে ফিরে যেতে খুব বেশি সময় লাগে না।
  • অ্যাক্টিভ ডিবি সংযোগগুলি প্রায় 80 টি সংযোগ - যা আমরা মনে করি মোটামুটি স্বাস্থ্যকর বলে মনে করি যে প্রতিটি প্রক্রিয়া অনুযায়ী ওয়েব সার্ভারে একটি সংযোগ পুল রয়েছে - তাই আমাদের সংযোগ ফাঁসের সমস্যা নেই।

অ-শীর্ষ সময়ে আমরা বেশ কয়েকটি জিনিস চেষ্টা করেছি: - ডেটা ক্যাশে সাফ করার জন্য ডিবিসিসি ড্রপক্লেইনবুফার্স (একটি চেকপয়েন্ট সহ) চালান। এটির কোনও প্রভাব নেই, বা এটি কোনও র‍্যাম ব্যবহার সাফ করে না)। - ক্যোয়ারী পরিকল্পনা এবং সঞ্চিত প্রোক ক্যাশে সাফ করার জন্য বিনামূল্যে এবং বিনামূল্যে ব্যবহার করুন Run কোন প্রভাব নেই.

স্পষ্টতই এসকিউএল সার্ভার পুনরায় চালু করা কোনও সক্রিয় উত্পাদন পরিবেশে আদর্শ নয়। আমরা কিছু মিস করছি। আর কেউ কি এর মধ্য দিয়ে যায়?

আপডেট: এপ্রিল-28-2012 এখনও এই সমস্যার সাথে লড়াই করছে। এসএসকিউএল সার্ভারের জন্য মেমরিটি 10 ​​গিগাবাইটে নামিয়ে রেখেছি, কেবল ওএসের সাথে কোনও বিতর্ক ছড়িয়ে দিতে। আমি এটিকে সঙ্কুচিত করার কাছাকাছি পৌঁছে যাচ্ছি, তবে আমার পরবর্তী পদক্ষেপ থেকে কিছু সহায়তা দরকার।

এসকিউএল সার্ভারটি পুনরায় চালু করার পরে, পৃষ্ঠার ফাইলটি 12.3 গিগাবাইট থেকে 12.5 গিগাবাইটের মধ্যে overs এটি কয়েক দিন এভাবেই থাকবে। মোট সার্ভার থ্রেডগুলি 850 থেকে 930 এর মধ্যে স্থির থাকবে - স্থায়ী এবং শেষের দিনগুলির জন্য সামঞ্জস্যপূর্ণ (স্ক্যালসার্ভার ট্র্যাফিকের উপর নির্ভরশীলগুলির মধ্যে 55 এবং 85 এর মধ্যে স্থির থাকে)।

তারপরে, "একটি ইভেন্ট" আছে। ইভেন্টটি কী তা আমার কোনও ধারণা নেই, আমি লগগুলিতে এটি দেখতে পাচ্ছি না এবং আমি যে সপ্তাহে বা সময় এটি ঘটে তার সাথে সামঞ্জস্যপূর্ণ কিছুই দেখতে পাচ্ছি না, তবে তিনি যে পেজফাইল করেছেন তার সবকটিই ১৪.১ বা ১৪.২ এ যায় গিগাবাইট, এবং থ্রেডগুলি 1750 এবং 1785 এর মধ্যে চলে যায়।

যখন এটি হয় তখন সুগন্ধি পরীক্ষা করা হচ্ছে, এর মধ্যে 900 টির বেশি থ্রিজি স্কেলসার্ভার। সুতরাং আমি এই থ্রেডগুলি কোথা থেকে আসছে তা দেখতে sp_Wo2 এ যান ... এবং কেবলমাত্র ব্যবহৃত 80 বা তাই ডিবি সংযোগ রয়েছে।

সুতরাং .... এসকিউএল সার্ভারে এই 900 টি থ্রেডের বাকী কোথায় রয়েছে এবং আমি কীভাবে এটি সনাক্ত করতে পারি তার কারও কি ধারণা আছে?

আপডেট: জুন-01-2012 এখনও সমস্যা নিয়ে লড়াই করছে। যে কেউ এখনও এটি পড়ে, থ্রেডে লাফিয়ে উঠার সমস্যাটি সমাধান করা হয়েছে। এটি অটোডেটেড কমভল্ট ব্যাকআপ সফ্টওয়্যার দ্বারা সৃষ্ট। এটি কেবল বর্তমান ডাটাবেসগুলি ব্যাক আপ না করে ডাটাবেসগুলিকে ব্যাকআপ করার চেষ্টা করছিল যা এটি আর ছিল না (এটি পূর্ববর্তী ডাটাবেসের একটি তালিকা বজায় রেখেছিল)।

তবে - সমস্যাটি এখনও রয়ে গেছে এবং আমাদের প্রতি সপ্তাহে পুনরায় চালু করতে হবে, কিছু দিন দিন বা নেওয়া উচিত। তারা কোনও আলো ফেলতে পারে কিনা তা দেখার জন্য র‌্যাকস্পেস টিমের সাথে কাজ করা।


1
পুঙ্খানুপুঙ্খ প্রশ্নের জন্য পয়েন্টস, তবে আপনি কি বিবেচনা করেছেন যে 1200 ডাটাবেসের জন্য 16 গিগাবাইট র‌্যাম কেবল যথেষ্ট না?
নিক ভ্যাকাকারো

জিনিসগুলির দুর্দান্ত স্কিমে সত্যই সহায়তা করতে পারে না তবে আমি জানি যে এমএসএসকিউএল যতটা র্যাম পাওয়া যায় তেমন ব্যবহার করার জন্য তৈরি করা হয়েছে। অন্যথায় র‌্যাম নষ্ট হয়ে যাচ্ছে বলে এটি সত্যই বোঝায়। পুনরায় চালু হওয়ার খুব শীঘ্রই এটি 15 গিগাবাইটে চলে আসে এ বিষয়টি সত্যই মনে হয় না। তবে @ নোরলা সঠিক হতে পারে যে 16 আপনি যা করতে চান তা কেবল পর্যাপ্ত নয়।

স্বচ্ছলতার সময় কয়টি এসপিআইডি সক্রিয় থাকে? দয়া করে এসপি_ওহো 2 চালান এবং সারি গণনা দিন।
নিক ভ্যাকাকারো

খালি পরীক্ষা করা হচ্ছে - আপনার কি কোনও এসকিএল সার্ভার কাজ চলছে? তাদের মধ্যে কেউ এই সমস্যা সৃষ্টি করছে কিনা তা আপনি একের পর এক থামিয়ে দিতে পারেন?

এর ফলাফল কী: sys.dm_os_memory_clerks থেকে SUM (একক_পৃষ্ঠাগুলি_কিবি + মাল্টি_পেজ_কবি) /1024.0 নির্বাচন করুন যেখানে [নাম] = 'টোকেনঅ্যান্ডপার্মUserStore'
মার্ক

উত্তর:


7

আপনি বলছেন যে সবকিছু ঠিক আছে, তারপর কয়েক সপ্তাহ পরে, কর্মক্ষমতা হ্রাস। (সাধারণত, লোকেরা দাবি করে যে পারফরম্যান্স দ্রুত হ'ল, বা নির্দিষ্ট সময়ে, বা আপাতদৃষ্টিতে এলোমেলো বিরতিতে That এর অর্থ খারাপ আই / ও পারফরম্যান্স বা লক ঝড় বা সিপিইউ-নিবিড় প্রশ্নগুলি জঘন্য সময়ে চলমান, বা ভারী ওজন নির্ধারিত চাকরি বা অভাব হতে পারে) ইনডেক্সিং বা খারাপ পরিসংখ্যান সিপিইউ-নিবিড় জিজ্ঞাসা বা ডিস্ক পড়ার কারণ causing বা অন্যান্য জিনিস stuff) সপ্তাহ অস্বাভাবিক।

আমার অনুমানটি আপনার সার্ভারে অন্য একটি অ্যাপ্লিকেশন মেমরি ফাঁস হয় আমি এটি ভাইরাস সফ্টওয়্যার (প্রতিটি ডিবিএর প্রিয় সার্ভার সফ্টওয়্যার ভিলেন) এবং তৃতীয় পক্ষের পর্যবেক্ষণ সফ্টওয়্যার সহ দেখেছি। আমি সময়ের সাথে সাথে এসকিউএল সার্ভারের মেমরির ব্যবহার দ্বিগুণ করব এবং আমি বাক্সে থাকা সমস্ত অ্যাপ্লিকেশনগুলির সমস্ত মেমরির ব্যবহারও দখল করব। যদি আপনার এসকিউএল সার্ভারের মেমরির ব্যবহারের বিষয়ে কঠোর সীমাবদ্ধতা থাকে এবং এটি পেজিংয়ের অনুমতি না দেওয়ার জন্য সেট করে থাকে তবে এটি অন্যান্য অ্যাপ্লিকেশনগুলি হতে পারে যা পৃষ্ঠপোষকতা পাচ্ছে এবং আই / ও ক্ষমতা খায়।

এটি সন্ধান করা কঠিন নয়। আপনি যদি ইতিমধ্যে সার্ভারে ম্যাট্রিক্স রাখেন না, আমি কেবল পারফমন শুরু করব এবং প্রতি 30 বা 60 মিনিটে এটি একটি নমুনা ধরব। কিছু দিন পরে, আপনি দেখতে পাচ্ছেন যে আরও একটি অ্যাপ্লিকেশন মেমরির ব্যবহার উপরে উঠছে ree

এসকিউএল সার্ভার লগ-এ কি ত্রুটি বার্তা রয়েছে যে "স্কেল সার্ভারের উল্লেখযোগ্য অংশগুলি পৃষ্ঠাযুক্ত হয়ে গেছে" বলে উল্লেখ করেছে? এটি একটি বড় সূত্র হবে।


আমি সম্মতি জানাই, আচরণটি এটিকে স্মৃতি ফাঁসের মতো করে তোলে।
নিক কাবাদিয়াস

মেমরি ফাঁসের জন্য +1। আমি সন্দেহ করি যে এই সার্ভারে পৃষ্ঠাটির আয়ু অনেক দীর্ঘ, তবে এটি পৃষ্ঠার ফাইলটি দ্রুত বাড়তে হবে না। এফওয়াইআই, এখানে প্রায় একই সমস্যা (এটি এভি ছিল এটিই ছিল): social.msdn.microsoft.com/forums/en/sqlsetupandupgrade/thread/…
ব্রায়ান

5

আমি কেবলমাত্র 16 গিগাবাইট র‌্যাম সহ এসকিউএল সার্ভারের একক দফায় 1200 ডিবি চালাতে সক্ষম হওয়ায় আপনাকে অভিনন্দন জানাচ্ছি এবং কয়েক সপ্তাহ সপ্তাহে চলমান চলার পরে কেবল এই ধরণের সমস্যা রয়েছে। স্থানীয় পাস অধ্যায়টি বলার জন্য দুর্দান্ত গল্প।

এখন সমস্যা সমাধানের জন্য: আপনার র‌্যাম এসকিউএল এবং ওএস উভয়ের জন্য 16 জিবি। আমি ধরে নিচ্ছি আপনার সর্বোচ্চ মেমরির সেটিংটি 15 গিগাবাইট বা সর্বোচ্চ। এটি বাফার পুলটিকে সমস্ত স্মৃতি ব্যবহার করে ওএসকে দম বন্ধ করতে পারে। আপনি বলছেন যে বাফার পুলটি পরিষ্কার করা এবং ক্যাশেগুলি কোনও পার্থক্য দেখাচ্ছে না, আপনার পিএলই 300 এর উপরে রয়েছে। এটি মেমরি বোতল ঘাড়ের বিরুদ্ধে সাক্ষ্য দেয়। সার্ভারে সিপিইউ এবং আইও কেমন রয়েছে (স্পেস / স্ট্যাটাস)?

select * from sys.dm_exec_request where session_id>50 and session_id<>@@spidআপনি যে রিসোর্স বিষয়বস্তু দেখেন তা চালান এবং (অপেক্ষা_প্রকার, অপেক্ষা_ সময়, শেষ_উইট_প্রকার, অপেক্ষা_র উত্স)।


1200 খুব খারাপ নয়! সবচেয়ে বড় প্রতিবন্ধকতা ছিল সংযোগ পুল সংক্রান্ত সমস্যাগুলি কাটিয়ে ওঠা, যা সংযোগের স্ট্রিংকে মাস্টার হিসাবে সেট করে এবং তারপরে সংযোগের পরে একটি ইউএসই [ডিবিনেম] রেখে সমাধান করা হয়েছিল। ক্যোয়ারীর শর্তে, আমি sys.dm_exec_requests যেখানে সেশন_আইড> 50 এবং সেশন_আইডি <> @@ স্পাইড থেকে বেছে নিয়েছি, এবং এটি 4 থেকে 5 অনুরোধের একটি সংক্ষিপ্ত তালিকা, সর্বোচ্চ, এবং তারা সাধারণত 500 এমএসের মধ্যে তালিকাটি ছেড়ে দেয়। তবে আমরা একবার চেষ্টা করে যাচ্ছি একবার আমরা ধীরগতিতে নামার পরে, এটি রবিবার আবার শুরু হয়েছিল, তাই এখন এটি যথারীতি গুনগুন করে।
পলজে

সংযোগ পুলিংয়ের বিষয়ে পরামর্শ দেওয়ার জন্য @ পলজে ধন্যবাদ জানায়। আমি এখন এটি উপর কিছু পড়া করছি।
স্ট্যানলি জনস

5

1200 ডাটাবেস, একটি ওএস এবং সম্ভবত অন্যান্য স্টাফ? হ্যাঁ, আমি মনে করি সার্ভারটি নিজেই কাজ করতে 1gb এরও বেশি র‌্যামের প্রয়োজন হবে, বিশেষত বিবেচনা করে, আপনি যদি এসকিউএল সার্ভারের সর্বাধিক মেমরির সেটিং হিসাবে 15 জিবি সেট করেন তবে থ্রেডগুলির জন্য এখনও 15 গিগাবাইটের বাইরে অতিরিক্ত মেমরির প্রয়োজন ।

আমি এসকিউএল সার্ভারকে 14 গিগাবাইটে চাপিয়ে দিয়ে সার্ভারকে আরও শ্বাসকষ্ট দেই।

এছাড়াও, একটি এসকিউএল সার্ভার ২০০৮ x64 সিস্টেমে ১ জিবি র‌্যাম সহ তৃতীয় অংশের ব্যাকআপ ইউটিলিটি সহ মেমরি ভাতার জন্য "পেশাদার এসকিউএল সার্ভার ২০০৮ ইন্টারনাল অ্যান্ড ট্রাবলশুটিং" এ দেওয়া একটি উদাহরণ:

  • উইন্ডোজ জন্য 2 জিবি
  • শ্রমিক থ্রেডের জন্য 1 জিবি
  • এমপিএ ইত্যাদির জন্য 1 জিবি
  • ব্যাকআপ প্রোগ্রামের জন্য 1 জিবি
  • এসকিউএল সার্ভারের জন্য ১১ জিবি

বইটিতে এটি দেখানো হয়েছে যে আপনার পক্ষে থাকা কতগুলি সংখ্যক থ্রেড নির্ধারণ করতে হবে এবং কীভাবে তারা মেমরি গ্রহণ করবেন তা গণনা করবেন। আপনার থ্রেডগুলির কতটুকু স্মৃতি দরকার হবে তা নির্ধারণ করতে এটি চালান (আপনার সার্ভারের সাথে মেলে সার্ভারের ধরণটি পরিবর্তন করুন)।

declare @servertype int

set @servertype=1
/*
1: x86 (32-bit)
2: x64 (64-bit)
3: IA64

*/

select max_workers_count *
    (
        case @servertype when 1 then .5
            when 2 then 2
            when 3 then 4
            else .5
        end
    )
from sys.dm_os_sys_info

দুর্দান্ত জিনিস, ধন্যবাদ আমি এটিকে 14 গিগাবাইটে নামিয়েছি। আমি এখানে নতুন কিছু শিখেছি, যেমন আমি সবসময় এসকিউএল সার্ভারকে যা চাইত তা নিতে দেয়। রেফারেন্সের জন্য আরেকটি ভাল নিবন্ধ এই ব্যাক আপ: sqlservercentral.com/blogs/glennberry/2009/10/29/...
PaulJ

4

যদি ডাটাবেস মেমরিটি সমস্ত ডাটাবেসগুলিতে সমানভাবে বিতরণ করা হয় তবে আপনার কাছে প্রতিটি ডাটাবেস (15 * 1024) / 1200=12.8 এর জন্য 12.8 মেগ রয়েছে। আপনার আরও স্মৃতি দরকার।

পারফরম্যান্স কেন কমছে আপনার তদন্ত করা উচিত। আপনি লকিং, ব্লকিং ইত্যাদি দেখতে পাচ্ছেন? অপেক্ষার পরিসংখ্যানগুলি কেমন দেখাচ্ছে?


3

ডিবিসিসি কমান্ডগুলি কেবল মেমরি বাফারগুলিকে সাফ করতে চলেছে তারা মেমরিটি ওএস-এ ফিরিয়ে দিচ্ছে না।

আপনি কি জানেন যে এসকিউএল সার্ভারটি আসলে মেমরিটি গ্রাস করে? আমি পারফমন সেশন সেট আপ করার বিষয়ে পরামর্শ দিচ্ছি বা এসকিউএল সার্ভার কী করছে এবং কী কাজ করছে তা জানতে পুনরায় শুরু করার পরে ডিএমভি তথ্য সংগ্রহ শুরু করার পরামর্শ দিচ্ছি। ব্যবহারকারীরা আপনার সংগ্রহের সময় স্বাভাবিকের চেয়ে বেশি কাজ করছে কিনা তাও লক্ষ্য করুন (যেমন- মাসের শেষের প্রক্রিয়াজাতকরণ ইত্যাদি)। আপনি কি একই সার্ভারে এসএসআরএস, এসএসআইএস, বা এসএসএএস চালাচ্ছেন?

সিস্টেমে আপনার 1200 ডাটাবেস রয়েছে, আপনার কাছে সবচেয়ে বড় আকারের ডিবি কী?


বৃহত্তম ডিবি 5 জিবি। এর মধ্যে কেবল 25 ডলারই 1GB বা আরও বেশি। প্রচুর সংখ্যাগরিষ্ঠতা 50 থেকে 200 এমবি।
পলজে

"আপনি কি একই সার্ভারে এসএসআরএস, এসএসআইএস, বা এসএসএএস চালাচ্ছেন?" - এই পরিষেবাগুলির কোনওটিই চলছে না। এটি একটি খাঁটি স্কয়ার বাক্স।
পলজে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.