200 অনুরোধ / সেকেন্ডের উপরে কীভাবে পিএইচপি 5 + মাইএসকিউএল স্কেল করবেন?


16

আমি পারফরম্যান্সের জন্য আমার হোমপৃষ্ঠাটি টুইট করছি, বর্তমানে এটি প্রায় 200 অনুরোধগুলি / সেকেন্ডটি 3.14.by পরিচালনা করে যা 6 এসকিউএল কোয়েরি খায়, এবং পিএইচপিবিবি ফোরাম যা 3.14.by/forum এ 20 রেকর্ড / সেকেন্ড।

আশ্চর্যজনকভাবে যথেষ্ট, কিছু ভিপিএস এবং উত্সর্গীকৃত এটম 330 সার্ভারে সংখ্যা প্রায় একই।

সার্ভার সফ্টওয়্যারটি হ'ল: অ্যাপাচি 2 + মোড_এফপি প্রিফার্ক 4 বাচ্চা (এখানে বিভিন্ন সংখ্যার চেষ্টা করেছেন), পিএইচপি 5, এপিসি, এনজিনেক্স, পিএইচপি সেশন স্টোরেজের জন্য মেমক্যাচ করা হয়েছে।

মাইএসকিউএল প্রায় 30% উপলভ্য র‌্যাম (ভিপিএসে ~ 150Mb, ডেডিকেটেড সার্ভারে 700Mb) খেতে কনফিগার করা হয়েছে

দেখে মনে হচ্ছে কোথাও কোনও বাধা আছে যা আমাকে উঁচুতে যেতে দিচ্ছে না, কোনও পরামর্শ? (অর্থাত্ আমি জানি যে S টিরও কম এসকিউএল এর কাজ করা এটি দ্রুততর করে তুলবে, তবে এটি কোনও সীমাবদ্ধ ফ্যাক্টরের মতো দেখায় না, কারণ ক্যাশেড ক্যোয়ারীর কারণে স্কোয়াড শীর্ষে কয়েক% এর বেশি খায়)

কেউ কি পরীক্ষা করেছে যে লাথি মেরে লাঞ্ছিত করে অ্যাপাচি 2 এবং কেবল এনগিনেক্স + পিএইচপি ছেড়ে যাওয়া আরও দ্রুত?

আরও কিছু মানদণ্ড

Small 40-byte static file: 1484 r/s via nginx+apache2, 2452 if we talk to apache2 directly. 
Small "Hello world" php script: 458 r/s via ngin+apache2.

আপডেট: দেখা যাচ্ছে যে ক্যাশড ডেটাতে মাইএসকিউএল সম্পাদন হচ্ছে বাধা performance একক এসকিউএল সহ পৃষ্ঠাটি 6 এসকিউএল - 180 রেেক / সেকেন্ড সহ 354req / সেকেন্ড প্রদর্শন করে। আপনি কি মনে করেন আমি এখানে টুইট করতে পারি? (আমি মাইএসকিউএল এর জন্য 100-200 এমবি ফোরক করতে পারি)

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
default-character-set=cp1251
collation-server=cp1251_general_cs

skip-character-set-client-handshake

user        = mysql
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
skip-external-locking

bind-address        = 127.0.0.1

key_buffer      = 16M
max_allowed_packet  = 8M
thread_stack        = 64K
thread_cache_size   = 16
sort_buffer_size    = 8M
read_buffer_size    = 1M

myisam-recover      = BACKUP
max_connections        = 650
table_cache            = 256
thread_concurrency     = 10

query_cache_limit       = 1M
query_cache_size        = 16M

expire_logs_days    = 10
max_binlog_size         = 100M

[mysqldump]
quick
quote-names
max_allowed_packet  = 8M

[mysql]
[isamchk]
key_buffer      = 8M

!includedir /etc/mysql/conf.d/

আপনি কেন অ্যাপাচি এবং এনজিনেক্স ব্যবহার করছেন?
জামেব

এটি সাধারণ কনফিগারেশন, অ্যাপাচি 2 থেকে পিএইচপি এবং বিভিন্ন অ্যাপ্লিকেশনগুলির জন্য অ্যাপাচি অবকাঠামো প্রয়োজন, লোডের উপরে অ্যাপাচি 2 মেমরির পদচিহ্ন হ্রাস করতে এনজিনেক্স।
বারসমনস্টার

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

এটি বর্ণনায় রয়েছে: এখন এটি 180-200 অনুরোধ / সেকেন্ডে। এটি হোমপৃষ্ঠার পক্ষে যথেষ্ট পরিমাণে হলেও, একই কোডবেসে নির্মিত অন্যান্য সাইটগুলি আরও দ্রুত কাজ করার জন্য আমি এই সেটআপটিকে টুইঙ্ক করতে চাই। আদর্শভাবে আমি গতিশীল পৃষ্ঠাগুলির সাথে
100Mbit

2
"প্রতি সেকেন্ডের অনুরোধগুলি" এই প্রসঙ্গে আসলেই অর্থবহ মেট্রিক নয়। আমার নেটবুক "প্রতি সেকেন্ডে 200 অনুরোধগুলি" পরিচালনা করতে পারে। এই ধরণের সংযোগ হারের অধীনে আপনি কোন প্রতিক্রিয়া সময়টি অর্জন করতে চান তা আমাদের জানানোর দরকার।
জামেব

উত্তর:


29

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

মাইএসকিউএল

  • ক্যোরি_ক্যাচি_প্রকার = 1 - ক্যাশে এসকিউএল অনুসন্ধানগুলি চালু। যদি 2 তে সেট করা থাকে তবে এসকিউএল_সিএইচইইইচটি ইঙ্গিত যদি তাদের কাছে দেওয়া হয় তবে কোয়েরিগুলি কেবল ক্যাশে করা হয়। একইভাবে টাইপ 1 এর সাথে, আপনি এসকিউএল_এনও_সিএইচইইইচআইএনএইচআইটি ইঙ্গিত দিয়ে কোনও নির্দিষ্ট ক্যোয়ারির জন্য ক্যাশে অক্ষম করতে পারেন
  • key_buffer_size = 128M (default: 8M) - মাইআইএসএএম টেবিল সূচকগুলির জন্য মেমরি বাফার। ডেডিকেটেড সার্ভারগুলিতে, কী_বফার_সাইজকে কমপক্ষে একটি চতুর্থাংশে সেট করার লক্ষ্য রাখুন, তবে সার্ভারে মেমরির মোট পরিমাণের অর্ধেকের বেশি নয়
  • ক্যোরি_ক্যাচি_সাইজ = 64 এম (ডিফল্ট: 0) - ক্যোয়ারী ক্যাশের আকার
  • back_log = 100 (ডিফল্ট: 50, সর্বোচ্চ: 65535) - বকেয়া সংযোগের অনুরোধগুলির সারি। স্বল্প সময়ের মধ্যে প্রচুর সংযোগ থাকা অবস্থায় কেবল বিষয়গুলিই গুরুত্বপূর্ণ
  • join_buffer_size = 1M (ডিফল্ট: 131072) - পূর্ণ টেবিল স্ক্যান করার সময় একটি বাফার ব্যবহার করা হয় (কোনও সূচী নেই)
  • টেবিল_ক্যাশে = 2048 (ডিফল্ট: 256) - আপনার সবচেয়ে ভারী এসকিউএল কোয়েরিতে থাকা সর্বাধিক সংখ্যক জোনের সংখ্যা দ্বারা গুণিত হওয়া উচিত_সামগ্রী_সংযোগগুলি। গাইড হিসাবে শীর্ষ সময়ে "ওপেন_সামগ্রী" পরিবর্তনশীলটি ব্যবহার করুন। "ওপেন_ টেবিল" ভেরিয়েবলটিও দেখুন - এটি "ওপেন_ টেবিলগুলি" এর কাছাকাছি হওয়া উচিত
  • ক্যোয়ারী_প্রেলোক_সাইজ = 32 কে (ডিফল্ট: 8 কে) - বিবৃতি পার্সিং এবং কার্যকর করার জন্য ধৈর্যশীল মেমরি। জটিল প্রশ্ন থাকলে বৃদ্ধি করুন
  • সাজ্ট_বফার_সাইজ = 16 এম (ডিফল্ট: 2 এম) - বাছাইয়ে সহায়তা করে (অর্ডার বা পরিচালনা দ্বারা পরিচালিত)
  • read_buffer_size = 2M (ডিফল্ট: 128 কে) - অনুক্রমিক স্ক্যানগুলির সাহায্য করে। অনেক ক্রমিক স্ক্যান থাকলে বাড়ান।
  • read_rnd_buffer_size = 4M - মাইআইএসএএম টেবিলটিকে বাছাইয়ের পরে বাছাই করতে সহায়তা করে
  • সর্বাধিক দৈর্ঘ্যের_সোর্দ_ডাটা - সারি ফাইলের মধ্যে সারি পয়েন্টারের পরিবর্তে সংরক্ষণ করতে সারি আকার। এলোমেলো টেবিল পড়া এড়াতে পারেন
  • কী_ক্যাচি_এজ_থ্রেসোল্ড = 3000 (ডিফল্ট: 300) - হট-জোনে কী ক্যাশে রাখার সময় (এটি উষ্ণায়িত করার আগে)
  • key_cache_division_limit = 50 (ডিফল্ট: 100) - আরও পরিশীলিত ক্যাশে উচ্ছেদের প্রক্রিয়া (দুই স্তর) সক্ষম করে। নীচের স্তরের জন্য শতাংশ রাখার জন্য চিহ্নিত করে। বিলম্ব_কি_উইট = সমস্ত - কী বাফারটি প্রতিটি সূচী আপডেটে টেবিলের জন্য ফ্লাশ করা হয় না, তবে কেবল টেবিলটি বন্ধ থাকে। এই গতিগুলি কীগুলিতে প্রচুর পরিমাণে লেখার চেষ্টা করে তবে আপনি যদি এই বৈশিষ্ট্যটি ব্যবহার করেন তবে আপনার সমস্ত মাইআইএসএএম টেবিলের স্বয়ংক্রিয় চেকিংটি --myisam-रिक্যুরি = ব্যাকআপ, ফোর্স বিকল্পটি দিয়ে সার্ভার শুরু করে যুক্ত করা উচিত should
  • মেমলক = 1 - মেমরিতে লক প্রক্রিয়া (অদলবদল আউট / আউট কমাতে)

এ্যাপাচি

  • স্প্যানিং পদ্ধতি পরিবর্তন করুন (উদাহরণস্বরূপ এমপিএম)
  • সম্ভব হলে লগ অক্ষম করুন
  • ওভাররাইড কিছুই নয় - যখনই সম্ভব .htaccess অক্ষম করুন। .Htaccess ফাইলগুলি যদি ব্যবহার না করা হয় তবে এটি ফাইল সন্ধানের অনুরোধ সংরক্ষণ করে ap
  • সেন্ডবফারসাইজ - ওএস ডিফল্টতে সেট করুন। কনজেজেড নেটওয়ার্কগুলিতে আপনার এই পরামিতিটি সাধারণত ডাউনলোড হওয়া বৃহত্তম ফাইলের আকারের কাছে সেট করা উচিত
  • কিপলাইভ অফ (ডিফল্ট চালু) - এবং সঠিকভাবে নেটওয়ার্ক সংযোগ বন্ধ করতে লম্বা ইনস্টল করুন এবং দ্রুত is
  • ডাইরেক্টরিআইএনডেক্স সূচক.এফপি - ফাইল তালিকা যতটা সম্ভব সংক্ষিপ্ত এবং নিখুঁত রাখুন।
  • অ্যাপাচে ফাইল অ্যাক্সেস প্রক্রিয়াটিকে সহজ করার জন্য বিকল্পগুলি অনুসরণ করুন সিমলিঙ্কগুলি
  • মোড_উইরাইট বা কমপক্ষে জটিল রেগেক্স ব্যবহার করা থেকে বিরত থাকুন
  • ServerToken = শঙ্কু

পিএইচপি

  • ভেরিয়েবল_র্ডার = "জিপিসিএস" (যদি আপনার পরিবেশের পরিবর্তনশীলগুলির প্রয়োজন না হয়)
  • রেজিস্টার_গ্লোবালস = বন্ধ - সুরক্ষা ঝুঁকি হওয়া ছাড়াও এর কার্যকারিতাও প্রভাব ফেলে
  • অন্তর্ভুক্ত_পাথকে যতটা সম্ভব ন্যূনতম রাখুন (অতিরিক্ত ফাইল সিস্টেমের লুক এড়ানো)
  • display_erferences = বন্ধ - ত্রুটি দেখানো অক্ষম করুন। সমস্ত উত্পাদন সার্ভারের জন্য দৃ recommended়রূপে প্রস্তাবিত (কোনও সমস্যার ক্ষেত্রে কুৎসিত ত্রুটি বার্তা প্রদর্শন করে না)।
  • magic_quotes_gpc = অফ
  • magic_quotes: _ * = অফ
  • output_buffering = উপর
  • সম্ভব হলে লগিং অক্ষম করুন
  • expose_php = অফ
  • register_argc_argv = অফ
  • always_populate_raw_post_data = অফ
  • php.ini ফাইলটি রাখুন যেখানে পিএইচপি প্রথমে এটি অনুসন্ধান করবে।
  • সেশন.gc_divizer = 1000 বা 10000
  • অধিবেশন.সেভ_পাথ = "এন; / পাথ" - বড় সাইটের জন্য এটি ব্যবহার বিবেচনা করুন। সেশন ফাইলগুলি উপ-ডিরেক্টরিতে বিভক্ত করে

ওএস টুইটস

  • মাউন্ট -o noatime বিকল্পের সাহায্যে হার্ড ডিস্ক ব্যবহৃত (অ্যাক্সেসের সময় নেই)। এই বিকল্পটি / etc / fstab ফাইলে যুক্ত করুন।
  • সেরা ফলাফল কি আছে তা দেখতে / প্রো / সিএস / ভিএম / অদলবদল (০ থেকে ১০০) টুইঙ্ক করুন
  • র‌্যাম ডিস্কগুলি ব্যবহার করুন - মাউন্ট --bind -ttmpfs / tmp / tmp

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

ঠিক আছে, কীভাবে আপনি mysql_connect () এর পরিবর্তে ডাটাবেস (mysql_pconnect ()) এর সাথে সংযুক্ত হন? আপনি কি অবিচ্ছিন্ন সংযোগগুলি ব্যবহার করেন? উভয় উপায়ে চেষ্টা করুন ...
ইভান পিভস্কি

আমি ইতিমধ্যে
পিকনেটে

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

1

যদি বাধাটি সিপিইউ না হয় তবে এর আইও - হয় নেটওয়ার্ক বা ডিস্ক। সুতরাং .. আপনাকে দেখতে হবে কতটা আইও চলছে। আমি এর নেটওয়ার্কটি ভাবতাম না (যদি আপনি 10 এমপিএসের অর্ধ-দ্বৈত লিঙ্কে না থাকেন তবে অটো-ডিটেক্ট যদি সঠিকভাবে কাজ না করে তবে স্যুইচটি পরীক্ষা করা তার পক্ষে মূল্যবান)।

এটি ডিস্ক আইও ছেড়ে দেয় যা বিশেষত ভিপিএসে একটি বড় কারণ হতে পারে। ডিস্কগুলিতে নজর রাখার জন্য সর বা আইওস্ট্যাট ব্যবহার করুন, তারপরে গুগল করুন যে কীভাবে আপনার ডিস্কটি ভারী ব্যবহার হচ্ছে যদি আরও বিশদ খুঁজে পান।


হ্যাঁ, নেটওয়ার্ক সমস্যা নয় - স্থানীয় সার্ভার থেকে আব চালানোর সময়, পারফরম্যান্সটি একই রকম হয়। আমি আইওয়েট সময়টি পরীক্ষা করেছি - এটি 0,01% এর নীচে - মূলত সমস্ত কিছু ডিস্ক ক্যাশে রয়েছে এবং প্রসেসিংয়ের অনুরোধে কোনও ডিস্ক লিখিত নেই (সমস্ত লগ অক্ষম রয়েছে)।
বার্সমন্সটার

1

আমি হয় সঙ্গে ক্যাশে মধ্যে দেখাবে nginx ( memcached ) অথবা বার্নিশ

খুব কমপক্ষে আপনার সেভিওআরবিটিজ যেমন Nginx এর সাথে স্ট্যাটিক ফাইলগুলি সার্ভার করা উচিত।


এগুলি গতিশীল পৃষ্ঠাগুলি, তাই আমি তাদের ক্যাশে না করাই পছন্দ করি।
বারসমনস্টার

1
মেমক্যাচড একটি traditionalতিহ্যবাহী ক্যাচিং অ্যাপ্লিকেশন নয় এবং ডায়নামিক পৃষ্ঠাগুলির জন্য আশ্চর্য কাজ করতে পারে। এটি ডিবি এবং আপনার অ্যাপের মধ্যে বসে। আপনি কোনও অ্যাপ্লিকেশনটির জন্য প্রথম প্রশ্নের মুখোশযুক্ত কোনও বস্তুর জন্য যদি এটি না থাকে তবে এটি ডিবি থেকে লোড করা হয়। নেট এফেক্টটি হ'ল আপনি ডিবিতে আরও ধীর ধীর সঞ্চয় করার চেয়ে আপনার ডিবি অনুরোধগুলি পরিবেশন করতে র্যাম ব্যবহার করছেন।
জামেবি

মেমক্যাচটি এনজিনেক্সের সাথে ব্যবহার করা যেতে পারে যা এটি বৈশিষ্ট্য হিসাবে পরিচিত। ধীর স্থির স্টোরেজ ব্যবহার করা হয়নি, এটি মাইএসকিউএল-এর ক্যোয়ারী ক্যাশে রয়েছে in
বারসমনস্টার

মেমক্যাচড এবং মাইএসকিউএল এর ক্যোয়ারী ক্যাশে আসলে তুলনামূলক নয়; তারা এমনকি একই জিনিস না। এগুলি বোঝার জন্য বিরক্ত না করে আপনি এখানে পোস্ট প্রতিটি পরামর্শ বেশ নিখুঁতভাবে সরিয়ে দেওয়ার জন্য আপনি খুব দ্রুত। আমি আপনাকে আরও কিছুটা মুক্তমনা হওয়ার পরামর্শ দিই।
জামেব

আমি স্পষ্টভাবে মেমক্যাচড এবং মাইএসকিউএল ক্যোয়ারী ক্যাশের মধ্যে পার্থক্যটি বুঝতে পারি। তবে 100% হিট অনুপাত সহ সবকিছু ক্যোয়ারী ক্যাশে রয়েছে এই কারণে, আমি এটিকে "ধীর স্থির স্টোরেজ" বলব না। আসল গতকালের উত্তরটি ছিল NginX + মেমক্যাচ ব্যবহার সম্পর্কে যা পুরো পৃষ্ঠাগুলি ক্যাশে করার জন্য বেশ সাধারণ দৃশ্য। স্বতন্ত্র বস্তুগুলি ক্যাচ করা অন্যরকম, সম্পূর্ণ ভিন্ন দৃশ্য। মাইএসকিউএল এর সামনে মেমক্যাচ করা টেবিলে থাকা অবস্থায়, আমি আপাতত এটি ছাড়াই আরও রস পাওয়ার কথা ভাবছি (কারণ এতে কোডের বেশ কিছুটা পরিবর্তন দরকার হবে)।
বারসমনস্টার

1

সার্ভারটি সমস্যা বলে মনে হচ্ছে না, সম্ভবত লোড জেনারেটর। এটি বেশ কয়েকটি মেশিনে চালানোর চেষ্টা করুন।


আমি সার্ভার থেকে নিজে চালালেও পারফরম্যান্স একই। 10 বা 50
মানু

1

এটি আমার কাছে মনে হচ্ছে আপনি অ্যাপাচি যে পরিমাণ সংযোগের সর্বাধিক পরিমাণে চাপ দিচ্ছেন সেটিকে আপনি আঘাত করছেন your আপনার অ্যাপাচি কনফিগারেশনটি একবার দেখুন। আপনি যদি ইতিমধ্যে I / O বা মেমরির মতো কিছু অন্য সীমা দ্বারা আবদ্ধ না হন তবে সার্ভার সীমা এবং সর্বাধিক ক্লায়েন্টদের বাড়ানো উচিত help এমপিএম_প্রফোর্ক_মডিউল বা এমপিএম_কর্মী_মডিউলের জন্য উপস্থিত মানগুলি দেখুন এবং আপনার প্রয়োজন মেটাতে সেই অনুযায়ী সামঞ্জস্য করুন।

সার্ভারলিমিট 512
ম্যাক্সক্লিয়েন্টস 512

ঠিক আছে,
এপাচি

শুধু এটি যাচাই করা হয়েছে। 4 থেকে 16 পর্যন্ত অ্যাপাচি 2 প্রক্রিয়ার সংখ্যা বৃদ্ধি করা মোটেও পারফরম্যান্সের উন্নতি করতে পারেনি (এটি 0.5% পর্যন্ত কমেছে)। Nginx কর্মীদের সংখ্যা 2 বা 4 বাড়িয়ে কোনও উন্নতি হয়নি।
বারসমনস্টার

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

এই মুহূর্তে আমি 100% ক্যোয়ারী
ক্যাচ

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

0

এই লোডটি কোনও সরঞ্জাম বা বাস্তব-বিশ্বের লোড দ্বারা উত্পাদিত হয়েছে?

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

যদি কোনও লোড জেনারেটর ব্যবহার করা হয়, একটি ছোট স্ট্যাটিক পৃষ্ঠা হিট করার সময় আপনি কী পাবেন?

বোঝা চলাকালীন, আপনি TIME_WAIT শর্তের জন্য নেটওয়ার্ক স্ট্যাকটি পরীক্ষা করতে চাইতে পারেন। সম্ভবত আপনি নিজের সংযোগ সারি পূরণ করছেন।

প্রায় 100 টি কারণ এবং আইটেমগুলি আপনি দেখতে পারেন তবে আরও তথ্য ছাড়াই, আমি এই মুহুর্তে অনুমানগুলি ফেলে দিচ্ছি।


এটি ab-c 10 -t 10 URL এর মাধ্যমে পরীক্ষিত হয়েছে আমি নিজে থেকেই সার্ভার থেকে বেঞ্চমার্ক করছি, সুতরাং নেটওয়ার্কটি সমস্যা হওয়া উচিত নয়। আমি আপনার অনুরোধ অনুযায়ী আরও মানদণ্ড পোস্ট করেছি।
বারসমনস্টার

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

আমি গতকাল এই মানদণ্ডগুলি করেছি এবং সেগুলি আপডেট হওয়া মূল প্রশ্নের বিবরণে রয়েছে। এছাড়াও, লোকালহোস্টে পরীক্ষা করা হয়, সুতরাং নেটওয়ার্ক কোনও সমস্যা নয়।
বারমন্সটার

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

-1

এই জাতীয় সময়ের 99% শতাংশ ডাটাবেসে ফিরে যাবে back আপনার হিটিং সূচকগুলি সবার আগে নিশ্চিত করুন। যদি এটি কাজ না করে, আপনি যা করতে পারেন তা ক্যাশে শুরু করুন।


এটি সমস্ত সূচক এবং যেমনটি আমি বলছিলাম যে এটি 100% ক্ষেত্রে মাইএসকিউএল ক্যোয়ারী
ক্যাশেও আঘাত করছে

-1

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

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


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