ইনোডিবি ইনসার্ট পারফরম্যান্সের ক্ষমতা


11

হাই আমি পারকোনা সার্ভারের সাম্প্রতিকতম সংস্করণটি চালাচ্ছি।

সার্ভার সংস্করণ: 5.5.24-55 পারকোনা সার্ভার (জিপিএল), রিলিজ 26.0

আমার কাছে এই বৈশিষ্ট্যগুলির একটি 10 ​​সিপিইউ বাক্স রয়েছে।

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 9
model name      : AMD Opteron(tm) Processor 6128
stepping        : 1
microcode       : 0x10000d9
cpu MHz         : 800.000
cache size      : 512 KB

এটিতে এসএসডি এবং GB৪ জিবি র‌্যাম রয়েছে। ইনোডব প্রায় 10 জিবি, সুতরাং ইনোডাব_বফার_পুল_সাইজ 10 জিবিতে সেট করুন।

আমার কাছে একটি টেবিল রয়েছে যা নীচে রয়েছে:

create table TODAY
( symbol_id       integer not null
, openp           decimal(10,4)
, high            decimal(10,4)
, low             decimal(10,4)
, last            decimal(10,4) not null
, volume          int
, last_updated      datetime        -- the time of the last quote update
, prev        decimal(10,4) null
, PRIMARY KEY ( symbol_id )
)

যদি আমি একটি খালি টেবিল দিয়ে শুরু করি এবং ২৩,০০০ সারি সন্নিবেশ করি তবে এটি প্রায় 10 সেকেন্ড সময় নেয়। আমি যদি পরবর্তীকালে এমন কোনও আপডেট করি যেখানে প্রতিটি সারির প্রতিটি কলাম আপডেট করা হয় (অবশ্যই প্রতীক_আইডি বাদে) এটি 11-12 সেকেন্ডের মতো কিছুটা বেশি সময় নেয়।

এটি কি সাধারণভাবে ইনোডবের কাছ থেকে আমার লেখার পারফরম্যান্সের আশা করা উচিত? এই পারফরম্যান্স উন্নতির জন্য কোনও পরামর্শ আছে? ২৩,০০০ সারি আপডেট করা একটি চূড়ান্ত ঘটনা, কারণ সাধারণত কোনও ট্রেডিংয়ের সময় আমাকে প্রতি 5 সেকেন্ডে প্রায় 1000 সারি আপডেট করতে হবে (সুতরাং, এটিই আমি যে বাস্তববাদী প্রতিবন্ধকতাটির সাথে মোকাবিলা করছি)।

অন্যান্য প্রাসঙ্গিক mysql.cnf সেটিংস আমি পরিবর্তন করেছি:

innodb_buffer_pool_size = 10G
innodb_log_file_size    = 64M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT

বিটিডাব্লু যদি ইনোডব এর পরিবর্তে আমি ইঞ্জিন = স্মৃতি দিয়ে টেবিলটি তৈরি করি তবে সন্নিবেশটি করতে 4 সেকেন্ড সময় লাগে, আপডেটটি করতে 6 সেকেন্ড।

অনেক টিআইএ যদি এই ধরণের ক্যোয়ারীর মানদণ্ডটি কী তা বুঝতে বা আমাকে সময় উন্নত করতে সহায়তা করতে পারে।

ডন

পিএস পূর্ণ ইনডাব সেটিংস।

mysql> 'আনানোডব%' এর মতো গ্লোবাল ভেরিয়েবলগুলি দেখান;
+ + ------------------------------------------- + + ----- ------------------- + +
| পরিবর্তনশীল_নাম | মান |
+ + ------------------------------------------- + + ----- ------------------- + +
| ইনোডব_ডাপটিভ_ফ্লাশিং | অন ​​|
| ইনোডব_ডাপটিভ_ফ্লুশিং_মোথড | অনুমান |
| ইনোডব_ডাপটিভ_হ্যাশ_ইনডেক্স | অন ​​|
| ইনোডব_ডাপটিভ_হ্যাশ_ইন্ডেক্স_ বিভাগগুলি | 1 |
| ইনোডব_অ্যাডিশনাল_ মেম_পুল_সাইজ | 8388608 |
| ইনোডব_আউটোএক্সটেন্ড_সনক্রিমেন্ট | 8 |
| ইনোডব_আউটোইনক_লোক_মোড | 1 |
| ইনোডব_ব্লকিং_বাফার_পুল_প্রেমী | বন্ধ |
| ইন্নাডব_বফার_পুল_সামান্য | 1 |
| ইনোডব_বফার_পুল_রেস্টোর_আট_স্টার্টআপ | 0 |
| ইনোডব_বফার_পুল_শ্মি_চেকসাম | অন ​​|
| ইনোডব_বফার_পুল_শ্মি_কি | 0 |
| ইনোডব_বফার_পুল_সাইজ | 10737418240 |
| ইনোডব_চেঞ্জ_বফারিং | সব |
| ইনোডব_চেকপয়েন্ট_এজ_টারাজেট | 0 |
| ইনোডব_চেকসামস | অন ​​|
| ইনোডব_কমিট_ কনকনুরসি | 0 |
| ইনোডব_কনক্রেন্সি_টিকেটস | 500 |
| ইনোডব_কর্প্ট_ টেবিল_অ্যাকশন | জোর দেওয়া |
| ইনোডব_ডাটা_ফাইলে_পাথ | আইবডাতা 1: 10 এম: অটো এক্সেট |
| ইনোডব_ডাটা_হোম_ডির | |
| ইনোডব_ডিক্ট_ সাইজ_লিমিট | 0 |
| ইনোডব_ডুব্লাইরাইট | অন ​​|
| ইনোডব_ডুবলাইরাইট_ফায়াল | |
| ইনোডব_ফেক_চেঞ্জেজ | বন্ধ |
| ইনোডব_ফেষ্ট_চেকসাম | বন্ধ |
| ইনোডব_ফেষ্ট_শুটডাউন | 1 |
| ইনোডব_ফিল_ফর্ম্যাট | মৃগী |
| ইনোডব_ফিল_ফর্ম্যাট_চেক | অন ​​|
| ইনোডব_ফাই_ফর্ম্যাট_ম্যাক্স | মৃগী |
| ইনোডব_ফায়াল_পার_ টেবিল | বন্ধ |
| ইনোডব_ফ্লুশ_লগ_এটি_আরটিএক্স_কমিট | 2 |
| ইনোডব_ফ্লুশ_মোহাদ | ও_ডির্যাক্ট |
| ইনোডব_ফ্লুশ_নিবার_পৃষ্ঠা | অঞ্চল |
| ইন্নাডব_ফোর্স_লোড_রংকৃত | বন্ধ |
| ইন্নাডব_ফোর্স_ রিচার্ভ | 0 |
| ইনোডব_আইবিউফ_স্যাক্সেল_রেট | 100 |
| ইনোডব_আইবিফ_একটিভ_কন্ট্র্যাক্ট | 1 |
| ইনোডব_আইবিফ_ম্যাক্স_সাইজ | 5368692736 |
| ইনোডব_আইম্পোর্ট_ টেবিল_ফর্ম_এক্সট্রাব্যাকআপ | 0 |
| ইনোডব_ও_ক্যাপাসিটি | 200 |
| ইনোডব_কিল_ইডল_ট্রান্সঅ্যাকশন | 0 |
| ইনোডব_লাজ_প্রিফিক্স | বন্ধ |
| ইনোডব_লাজি_ড্রোপ_সারণযোগ্য | 0 |
| ইনোডব_লোক_উইট_টাইমআউট | 50 |
| ইনোডব_লকস_অনস্যাফ_ফর্ম_বিন্লগ | বন্ধ |
| ইনোডব_লগ_ব্লক_সাইজ | 512 |
| ইনোডব_লগ_বাফলার সাইজ | 8388608 |
| ইনোডব_লগ_ফাইলে_ সাইজ | 67108864 |
| ইনোডব_লগ_ফায়াল_ইন_গোষ্ঠী | 2 |
| ইনোডব_লগ_গ্রুপ_হোম_ডির | ./ |
| ইন্নাডব_ম্যাক্স_ডাল্টি_পেজ_প্যাক্ট | 75 |
| ইনোডব_ম্যাক্স_পুরেজ_লাগ | 0 |
| ইনোডব_মিরার্ড_লগ_গ্রুপস | 1 |
| ইনোডব_ল্ড_ব্লকস_প্যাক্ট | 37 |
| ইনোডব_ল্ড_ব্লকস_টাইম | 0 |
| ইনোডব_পেন_ফাইলেস | 300 |
| ইনোডব_পেজ_সাইজ | 16384 |
| ইনোডব_পুর্জ_বাচ_সাইজ | 20 |
| ইনোডব_পুর্জ_থ্রেডস | 1 |
| ইনোডব_আরন্দম_ড্রেড_হেড | বন্ধ |
| ইনোডব_ড্রেড_হেড | রৈখিক |
| ইনোডব_ড্রেড_হেড_থ্রেশোল্ড | 56 |
| ইনোডব_ড্রেড_ও_থ্রেডস | 4 |
| ইনোডব_আরসিওয়ারি_স্ট্যাটস | বন্ধ |
| ইনোডব_আরসিওয়ারি_আপডেট_রেলে_লগ | বন্ধ |
| ইনোডব_প্রকাশ_পাদ্য | 0 |
| ইনোডব_রোলব্যাক_অন_টাইমআউট | বন্ধ |
| ইনোডব_রোলব্যাক_সেটমেন্টস | 128 |
| ইনোডব_শো_লোকসহেল্ড | 10 |
| ইনোডব_শো_ভারবোস_লকস | 0 |
| ইনোডব_স্পিন_ওয়াইট_ডলে | 6 |
| ইনোডব_স্ট্যাটস_আউট_আপডেট | 1 |
| ইনোডব_স্ট্যাটস_মোহাদ | nulls_equal |
| ইনোডব_স্ট্যাটস_অন_মেডাটাটা | অন ​​|
| ইনোডব_স্ট্যাটস_ নমুনা_পৃষ্ঠা | 8 |
| ইনোডব_স্ট্যাটস_আপডেট_নেড_লক | 1 |
| ইনোডব_স্ট্রিক্ট_মোড | বন্ধ |
| ইনোডব_সুপোর্ট_এক্সা | অন ​​|
| ইনোডব_সাইক_স্পিন_লুপস | 30 |
| ইনোডব_ টেবিল_লকস | অন ​​|
| ইনোডব_থ্রেড_কেনচার্সি | 0 |
| ইনোডব_থ্রেড_কেনচারન્સી_টিমার_ভিত্তিক | বন্ধ |
| ইনোডব_থ্রেড_স্লিপ_ডলে | 10000 |
| ইনোডব_উজ_গ্লোবাল_ফ্লুশ_লগ_এট_আরটিএক্স_কমিট | অন ​​|
| ইনোডব_ইউজ_নেটিভ_আইও | অন ​​|
| ইনোডব_ ইউজ_সিস_ম্লোক | অন ​​|
| ইনোডব_ইউজ_সিস_ স্ট্যাটস_ টেবিল | বন্ধ |
| ইনোডব_ভার্সন | 1.1.8-rel26.0 |
| ইনোডব_রাইট_আইও_থ্রেডস | 4 |
+ + ------------------------------------------- + + ----- ------------------- + +
90 টি সারি সেট (0.00 সেকেন্ড)

আমি নিউম্যাক্টল --হারডওয়্যারটি চালিয়েছি এবং এখানে আমি যে আউটপুট পেয়েছি তা এখানে। আমার প্রশাসকের মন্তব্যগুলি নীচে উল্লেখ করা হয়েছে (ব্যাখ্যা হিসাবে)।

রুট @ প্রোগ: / ডেটা / মাইএসকিএল # নুম্যাক্টেল --হার্ডওয়্যার
উপলব্ধ: 4 টি নোড (0-3)
নোড 0 সিপাস: 0 1 2 3
নোড 0 আকার: 32766 এমবি
নোড 0 ফ্রি: 21480 এমবি
নোড 1 সিপাস: 4 5 6 7
নোড 1 আকার: 32768 এমবি
নোড 1 ফ্রি: 25285 এমবি
নোড 2 সিপাস: 12 13 14 15
নোড 2 আকার: 32768 এমবি
নোড 2 ফ্রি: 20376 এমবি
নোড 3 সিপাস: 8 9 10 11
নোড 3 আকার: 32768 এমবি
নোড 3 ফ্রি: 24898 এমবি
নোড দূরত্ব:
নোড 0 1 2 3
  0: 10 16 16 16
  1: 16 10 16 16
  2: 16 16 10 16
  3: 16 16 16 10

উত্তর:


9

নিম্নলিখিত ক্ষেত্রগুলিতে আপনার InnoDB সেটিংস টিউন করা দরকার:

InnoDB স্টোরেজ ইঞ্জিনটি সুর করার বিষয়ে আমার আগের পোস্টগুলি এখানে


এই অবিশ্বাস্যভাবে দরকারী জবাবের জন্য Thx !! আমি আপনাকে সালাম জানাচ্ছি। লগের আকারের বিষয়ে, আমাকে এটিকে আরও বড় করে তোলার বিষয়ে চিন্তা করতে হবে? আমার উদ্বেগ এমন কিছু যা টেকাচেনকো mysqlperformanceblog.com/2011/09/18/disaster-mysql-5-5-flushing সম্পর্কে লিখেছেন । আমি বুঝতে পেরেছি যে আমি পারকোনায় আছি, তাই সম্ভবত এটি কোনও উদ্বেগের বিষয় নয় .. তবে আমি নিশ্চিত হতে চাই যে আমি কোনও স্টলের দৃশ্যে যেতে চাই না। আমি আপনার উত্তরের বাকী অংশটি খনন করছি ...
ডন উল

ইন্নাডব_বফার_পুল_সংশ্লিষ্ট আমার কাছে একটি 16-সিপিইউ বাক্স রয়েছে (আমি ভেবেছিলাম এটি 10)। নমুনা প্রসঙ্গে আমার প্রশাসক বলেছেন "আপনার কাছে মোট 16 টি সিপিইউ রয়েছে, এবং র‌্যামের চারটি ব্লক, 32 জি প্রতিটি।
ডন উলের

দয়া numactl --hardwareকরে প্রশ্নটিতে আউটপুট চালান এবং পোস্ট করুন। আমি শারীরিক সিপিইউগুলি বের করার চেষ্টা করছি এবং আমি নিশ্চিত করতে চাই যে অ্যাডমিন সিপিইউগুলি না বলছে যখন সে বোঝাচ্ছে ores
রোল্যান্ডোমাইএসকিউএলডিবিএ

ঠিক আছে আমি প্রশ্নটিতে 'numctl' এর আউটপুট পোস্ট।
ডন উলের

আমার কাছে, আউটপুট 4 সিপিইউ ব্যবহার করে কোয়াড-কোয়াড কোর (16 কোরের) মতো দেখাচ্ছে। সুতরাং, সেট করুন innodb_buffer_pool_instances=4। আরও একটি অনুরোধ: দয়া করে ডাবল চেক করুন, ডিবি সার্ভারের কি 64 জিবি বা 128 জিবি আছে ???
রোল্যান্ডোমাইএসকিউএলডিবিএ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.