আপনার এসকিউএল সার্ভারগুলির সাথে আপনি মুখোমুখি শীর্ষ 3 কর্মক্ষমতা ইস্যুগুলি কী কী?


15

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

আমার একটি প্রশ্ন হ'ল:

আপনার এসকিউএল সার্ভার ইনস্ট্যান্সগুলির সাথে মুখোমুখি হওয়া শীর্ষ 3 কার্য সম্পাদনের সমস্যাগুলি কী কী এবং আপনি কীভাবে এই সমস্যাগুলি সনাক্ত করতে পারেন?

বিশেষত আমি স্ক্রিপ্টগুলি এবং এটি পরিমাপ করার জন্য ব্যবহৃত সরঞ্জামগুলিতে আগ্রহী।

উত্তর:


22

আমার মাথার শীর্ষটি বন্ধ - শীর্ষ 3 ক্যোয়ারী সমস্যা:

  • অন্তর্নিহিত রূপান্তর
  • খারাপ সূচক কৌশল (অনেকগুলিই যথেষ্ট বা যথেষ্ট নয় বা ভুল ধরণের)
  • আপনার প্রয়োজনীয় ক্ষেত্রগুলির নাম পরিবর্তে নির্বাচন করুন * নির্বাচন করুন

সার্ভার-লেভেল কনফিগার সমস্যা, ডাটাবেস স্কিমা সমস্যা, হার্ডওয়্যার সমস্যা ইত্যাদির আশেপাশে আরও অনেক কিছুই আছে আমি এই ধরণের সমস্যার সন্ধানকারী সার্ভারগুলি দ্রুত বিশ্লেষণ করার জন্য একটি স্ক্রিপ্ট লিখেছিলাম:

http://www.brentozar.com/blitz/


15
  • দরিদ্র নকশা / প্রশ্নগুলি / সূচীকরণ
  • সঠিক হার্ডওয়্যার কেনার অনুমতি নেই
  • ব্রেনিডেড ওআরএমস (ওরফে "এসকিউএল মারা গেছে")

14

শীর্ষ 3 নয়, তবে ভেবেছিলাম যে আমি এখনও উল্লেখ না করা বিষয়গুলি উল্লেখ করব:

  1. এসকিউএল ডিবিএতে কোনও বিবরণ / স্বচ্ছতা না দিয়ে ভার্চুয়াল মেশিনগুলিতে রাখে। হোস্ট সার্ভার গতিশীলভাবে অতিথি মেশিনের সেটিংস পরিবর্তন করবে যা কার্যকারিতা হ্রাস পাবে এবং ডিবিএ ছাড়িয়ে ছাড়বে। হাইপারট্রেডিং, নেটওয়ার্ক টিমিং এবং মেমরি বেলুনিংয়ের মতো বৈশিষ্ট্যগুলি পারফরম্যান্সকে মনিটরের জন্য একটি চলন্ত লক্ষ্য হিসাবে পরিণত করে।Tools: sysmon/perfmon, DMVs, maintaining a history of performance counters in tables.
  2. একইভাবে, ডিবিএতে সরবরাহ করা SAN সেটিংসে কোনও স্বচ্ছতা / যাচাইযোগ্যতা নেই। আমার বিভিন্ন পড়ার / লেখার ক্যাশে পছন্দসই সেটগুলি সহ LUNs রয়েছে তবে তারা বলেছিলেন যে তারা সব একই ছিল।Tools: IO DMVs, SQLIO.
  3. খারাপ ডিবি আর্কিটেকচার: যেমন আকার এবং ডেটা এবং লগ ফাইল স্থাপন এবং টেম্পিডবি। সমান্তরালতার ভুল ব্যবহার। একই শারীরিক ডিস্কে একাধিক ফাইলগ্রুপ তৈরি করা হচ্ছে।Tools: experience.

আরেকটি সরঞ্জাম যা আমি এখন যাচ্ছি তা হ'ল প্রোজেক্ট লুসি । ঝরঝরে মনে হচ্ছে।


10
  • যথাযথ সূচীর অভাব
  • পারফরম্যান্স সমস্যাগুলি সমাধান করার চেষ্টা করার জন্য কারও দ্বারা প্রোডাকশনকোডে নলক সহ ব্যবহার। বিশেষত খারাপ যদি কোডটি টেবিলগুলিতে ডেটা পরিবর্তন করে
  • অ্যাপ্লিকেশন প্রয়োজনের চেয়ে বেশি সময়ে প্রয়োজনের চেয়ে বেশি ডেটা নির্বাচন করে। প্রাক্তন বাইনারি থাকা প্রতিবার ফিরে আসেন এমনকি আপনি কেবল একই টেবিলের পাঠ্যপুস্তকটি চান।

2
নলক উল্লেখের জন্য +1। আমি জানি প্রতিটি বিকাশকারী এটি ব্যবহার করা ভাল ধারণা বলে মনে করেন কারণ "এটি পাঠ্যে টেবিলটি লক করে না"
টুকাজ

যখন আপনার কোনও গ্রাহক মাল্টিমনিতে যে বিশাল সিস্টেমটি কিনেছিলেন এবং আপনি যখন প্রথমবার তাকান তখন তারা সর্বত্র নলকের সাহায্যে ব্যবহার করেন না? এবং তারপরে ...: - /
মার্টিন সিজবার্গ

9

খারাপভাবে স্কেল করা প্রশ্নগুলি (সমস্ত গ্রাহকদের জন্য এক্স বছরের সমস্ত আদেশ পান ইত্যাদি সমষ্টিযুক্ত ডেটা সহ অন্যান্য অর্ডারলাইন এবং অন্যান্য গড় ডেটা যা খারাপভাবে গণনা করা হয়)

একবারে সব কিছু জিজ্ঞাসা করছি।

যে সমস্ত টেবিলগুলিতে 'বর্ণনামূলক' বার্চর / পাঠ্য ক্ষেত্র রয়েছে যা প্রতিটি প্রশ্নের মাধ্যমে অনুসন্ধান করতে হবে।


7
  • অনুপযুক্ত রক্ষণাবেক্ষণ, অর্থাত্ কোনও সূচক পুনর্গঠন, পরিসংখ্যান, লগ ব্যাকআপ নেই
  • অনুপস্থিত সূচী
  • দুর্বলভাবে লেখা প্রশ্নগুলি

7
  • দরিদ্র ডাটাবেস এবং অ্যাপ্লিকেশন ডিজাইন
  • প্ল্যাটফর্ম সুবিধার দুর্বল ব্যবহার (বিকাশকারীরা প্ল্যাটফর্ম-ইনপেন্ডেড ডাটাবেস-অ্যাক্সেস কোড পেতে চেয়েছিলেন wanted কোনও এসপি, কোনও কার্যাদি নেই) etc
  • খারাপ সূচীকরণ অবশ্যই।

7
  • প্রোড ডেটাতে অ্যাড-হক প্রশ্নগুলি - হ্যাঁ, বিকাশকারীরা বিশ্বাস করেন যে এটি প্রয়োজনীয় এবং কিছুটির এমনকি অ্যাক্সেস থাকতে পারে :-)
  • অ্যাপ্লিকেশনটির খারাপ ডিজাইন যা ডেটাবেস ব্যবহার করে - যেমন: বেশি পরিমাণে ডেটা যুক্ত করা হয় এবং এটির আর প্রয়োজন না হলেও কখনও মুছে ফেলা হয় না (যা পারফরম্যান্স সমস্যার কারণ হয়ে থাকে কারণ ব্যাকআপগুলি বড় হয়, রক্ষণাবেক্ষণের কাজগুলি আরও বেশি সময় নেয় ... ইত্যাদি)
  • একই ড্রাইভে একই রাইড বা আরও খারাপ সমস্ত ডেটাবেস ফাইল (যেমন: সিস্টেম ডিবিএস, টেম্পডিবি, ইউজার ডিবিএস সমস্ত একই ড্রাইভ / রেইডে একসাথে)

3
  • দরিদ্র ডাটাবেস ডিজাইন
  • দরিদ্র সূচীকরণ কৌশল (অনেকগুলি সূচক, অনুপস্থিত সূচক এবং সূচকের রক্ষণাবেক্ষণের অভাব সহ)
  • দুর্বল হার্ডওয়্যার আর্কিটেকচারাল সিদ্ধান্ত

2

সূচকগুলি কার্য সম্পাদনের জন্য গুরুত্বপূর্ণ, তবে আমি বেশিরভাগ ডিবিএর এটি জানতে পেরেছি এবং তাই এটি কোয়েরি অপ্টিমাইজেশনের মাধ্যমে স্থির হয়ে যায় এমন প্রথম জিনিসগুলির মধ্যে একটি হতে থাকে। যে অঞ্চলগুলি প্রায়শই ভালভাবে সম্বোধিত হয় না:

  1. অনেকগুলি ডিবি রাউন্ড-ট্রিপ। চাটনিজেশন হ'ল প্রধান পারফরম্যান্স সমস্যা।
  2. সঠিক লেনদেনের সীমানা পাওয়া। প্রতি INSERT / UPDATE / DELETE লেনদেন করা একটি বড় পারফরম্যান্স হত্যাকারী হতে পারে।
  3. হার্ডওয়্যার দিকটি অনুকূলিতকরণে ব্যর্থতা; বিশেষত, ডিবি ডেটা থেকে আলাদা ভলিউমে ডিবি লগ স্থাপন করা।

যদি আমি তালিকায় একটি চতুর্থ আইটেম যুক্ত করতে পারি তবে এটি ট্রিগার এবং / অথবা কার্সারের অতিরিক্ত এবং অনুচিত ব্যবহার হবে। আজকাল খুব বেশি ঘটেছিল বলে মনে হয় না, তবে এটি যখন হয় তখন এটি পারফরম্যান্সের দিক থেকে বেদনাদায়ক।

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