আপাচে পরিবেশিত পাঠ্য ফাইলগুলির জন্য জিজপের পরিবর্তে ডিফ্লেট কেন ব্যবহার করবেন?


215

এলএএমপি সার্ভার দ্বারা পরিবেশন করা এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্ট ফাইলগুলির জন্য পদ্ধতিগুলির মধ্যে কী কী সুবিধা রয়েছে। এর চেয়ে ভাল বিকল্প আছে কি?

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

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


গৃহীত উত্তরগুলি বদলানো ... বর্তমান sensক্যমত্যটি জিজিপের পক্ষে দুটি থেকে এক
কেন

1
mod_deflate অ্যাপাচি 2 এর জন্য, Mod_gzip অ্যাপাচি 1.3 এর জন্য।
এসপিআরবিএনএন

উত্তর:


315

আপাচে পরিবেশিত পাঠ্য ফাইলগুলির জন্য জিজপের পরিবর্তে ডিফ্লেট কেন ব্যবহার করবেন?

সহজ উত্তর না


আরএফসি 2616 Deflate হিসাবে সংজ্ঞায়িত:

আরএফসি ১৯৫১ সালে বর্ণিত "ডিফলেট" সংক্ষেপণ ব্যবস্থার সাথে একত্রে আরএফসি 1950-এ সংজ্ঞায়িত "জেলিব" ফর্ম্যাটটি ডিফল্ট করুন

জালিব ফর্ম্যাটটি আরএফসি 1950 হিসাবে সংজ্ঞায়িত করা হয়েছে :

     0   1
     +---+---+
     |CMF|FLG|   (more-->)
     +---+---+

       0   1   2   3
     +---+---+---+---+
     |     DICTID    |   (more-->)
     +---+---+---+---+

     +=====================+---+---+---+---+
     |...compressed data...|    ADLER32    |
     +=====================+---+---+---+---+

সুতরাং, কয়েকটি শিরোনাম এবং একটি ADLER32 চেকসাম

আরএফসি 2616 গিজিপটিকে সংজ্ঞায়িত করে:

জিজিপ একটি এনকোডিং ফর্ম্যাট ফাইল সংকোচনের প্রোগ্রাম দ্বারা উত্পাদিত "gzip" (GNU জিপ) আরএফসি 1952 [25] এ বর্ণিত। এই ফর্ম্যাটটি 32 বিট সিআরসি সহ একটি লেম্পেল-জিভ কোডিং (LZ77)।

আরএফসি 1952 সংক্ষেপিত ডেটা সংজ্ঞা দেয়:

ফর্ম্যাটটি বর্তমানে সংক্ষেপণের ডিফল্ট পদ্ধতি ব্যবহার করে তবে অন্যান্য সংক্ষেপণ পদ্ধতিগুলি ব্যবহার করতে সহজেই প্রসারিত করা যায়।

সিআরসি -32 ADLER32 এর চেয়ে ধীর

একই দৈর্ঘ্যের একটি চক্রীয় অপ্রয়োজনীয় চেকের সাথে তুলনা করে, এটি গতির জন্য নির্ভরযোগ্যতার ব্যবসা করে (পরেটিকে পছন্দ করে)।

সুতরাং ... আমাদের কাছে দুটি সংক্ষেপণ প্রক্রিয়া রয়েছে যা সংক্ষেপণের জন্য একই অ্যালগরিদম ব্যবহার করে তবে শিরোনাম এবং চেকসামের জন্য একটি পৃথক অ্যালগরিদম।

এখন, অন্তর্নিহিত টিসিপি প্যাকেটগুলি ইতিমধ্যে বেশ নির্ভরযোগ্য , তাই এখানে সমস্যাটি অ্যাডলার 32 বনাম সিআরসি -32 নয় যা জিজেপিআইপি ব্যবহার করে।


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

সুতরাং, কয়েক বছর ধরে ব্রাউজারগুলি একটি अस्पष्ट লজিক ডিফল্ট বাস্তবায়ন বাস্তবায়ন শুরু করে, তারা জেলিব শিরোলেখ এবং অ্যাডলার চেকসামের জন্য চেষ্টা করে, যদি এটি ব্যর্থ হয় তবে তারা পে-লোডের চেষ্টা করে।

এর মতো জটিল যুক্তিযুক্ত হওয়ার ফলস্বরূপ এটি প্রায়শই ভেঙে যায়। ভার্ভ স্টুডিওতে একটি পরীক্ষামূলক বিভাগ রয়েছে যা দেখায় পরিস্থিতি কতটা খারাপ।

উদাহরণস্বরূপ: সাফারি ৪.০ এ ডিলেটলেট কাজ করে তবে সাফারি ৫.১ এ বিভক্ত হয়, এটিতে সর্বদা আইই-তে সমস্যা থাকে।


সুতরাং, সর্বোত্তম জিনিসটি সম্পূর্ণরূপে ডিফ্লেট এড়ানোর জন্য, গৌণ গতি বৃদ্ধি (অ্যাডলার 32 এর কারণে) ভাঙ্গা পেওলডের ঝুঁকির পক্ষে উপযুক্ত নয়।


জিজিপের সাথে অ্যাডলার 32 এর সংমিশ্রিত কোনও নতুন মানক থাকা উচিত নয়?
পেসারিয়ার

1
@ সাম জাফরান, এর অর্থ কি যদি ওয়েব ব্রাউজারটি ছবিতে না থাকে তবে আমি গিজিপের উপরে ডিফলেট ব্যবহার করতে পারি? উদাহরণস্বরূপ, আমি যদি আমার এফটিপি সার্ভারে একটি সংকুচিত ফাইল আপলোড করতে যাচ্ছি।
Xegara

1
আরেকটি খুব ছোটখাট পার্থক্য হ'ল জিজিবের মোড়কটি ছয় বাইট বনাম 18 জি বাইটের জন্য বাইট is সুতরাং খুব ছোট প্যাকেটের জন্য, 12 কম বাইট প্রেরণে কোনও সুবিধা হতে পারে। উপসংহারটি পরিবর্তিত হয় না, যা হ'ল মাইক্রোসফ্ট তাদের আইআইএস সার্ভারগুলিতে কী সরবরাহ করেছিল তার মধ্যে "ডিলেটলেট" অর্থ কী তা ভুল ব্যাখ্যা করে সবার জন্য এটি স্ক্রু করে দেওয়ার কারণে, কেবলমাত্র জিজিপ ফর্ম্যাটটি ব্যবহার করা সহজ।
মার্ক অ্যাডলার

তবে কীভাবে পেললোডটি টিসিপি ব্যবহার করে প্রেরণ করা যেতে পারে? টিসিপির পুরো ধারণাটি হ'ল অখণ্ডিত পেইডগুলি প্রেরণ করা।
ব্যবহারকারী 1095108

এই উত্তরটির তারিখ ২০১২ সাল থেকে. সুতরাং আধুনিক ব্রাউজারগুলি এখনও ডিফল্ট অ্যালগরিদমগুলির ভুল বাস্তবায়নের সমস্যাটিতে ভুগছে বা এটি এখন ব্যবহার করা নিরাপদ? উত্তরের এই অংশটি এখনও আপ টু ডেট?
ইহেবিহব

172

GZip হ'ল ডিফল্ট প্লাস একটি চেকসাম এবং শিরোনাম / পাদচরণ। Deflate দ্রুত , যদিও, আমি হার্ড উপায় শিখেছি হিসাবে

gzip বনাম ডিফল্ট গ্রাফ


13
জেলিবের সম্প্রসারণের পক্ষে সমর্থন নেই এবং এটি করা সত্ত্বেও এসএসই ৪.২-এ সিআরসি 32 নির্দেশ বহিরাগত 1EDC6F41 ব্যবহার করে এবং gzip ফর্ম্যাটটি বহুপদী EDB88320 ব্যবহার করে - সম্পূর্ণ ভিন্ন অ্যালগরিদমগুলি কার্যকরভাবে কার্যকর করে।
জ্যাক লয়েড 15

7
এবং যেহেতু ডিলেটটি দ্রুত হয় তাই এসও জিজিপ ব্যবহার করছে কেন?
ডেভিড মারডোক

40
ঠিক আছে, এই উত্তরটি ভুল হিসাবে প্রমাণিত হয়েছে ... দেখুন: zoompf.com/blog/2012/02/lose-tit-wait-http-compression ... বিশেষ ক্লায়েন্টের 2 টি উপায় রয়েছে যাতে তারা "বিলোচনা" করতে পারে শিরোনামহীন / চেকসামহীন এবং জেলিব শিরোনাম সহ। একটি সঠিক ডিফল্ট ব্রাউজার জুড়ে বাস্তবায়ন খারাপ। অপসারণ এড়ানো উচিত।
স্যাম জাফরান

4
@ স্যাম অতিরিক্ত হিসাবে আমি কেবল বেঞ্চমার্কগুলিকে আবার চালিত করেছি এবং একটি আধুনিক ইন্টেল চিপে আমি জিজিপ পেয়েছি 1441/692 এবং 1286/531 ডিফল্ট করব। দ্বিতীয় সংখ্যাটি হ'ল সংক্ষেপণ, প্রথমটি সংকোচনের। তাই চুপসে হয় এখনও দ্রুত, আপনার benchmarks অন্যথায় দেখাই? (আমি সম্মত হলাম এটি অন্যান্য কারণে কার্যকর নাও হতে পারে তবে উত্তরটি সঠিক , অপসারণ দ্রুত) ..
জেফ

6
@ জেফএটউউড কিন্তু প্রশ্নটি দ্রুত ছিল না?
কেন

16

আপনি সম্ভবত বিকল্প হিসাবে Deflate বাছাই করতে পারবেন না। Mod_deflate আপনি প্রত্যাশা করতে পারেন তার বিপরীতে ডিফ্লেট নয় gzip ব্যবহার করছে। সুতরাং তৈরি করা পয়েন্টগুলির বেশিরভাগটি বৈধ হলেও এটি সম্ভবত বেশিরভাগ ক্ষেত্রেই প্রাসঙ্গিক নয়।


4

আমি মনে করি ডিফল্ট এবং জিজিপের মধ্যে কোনও বড় পার্থক্য নেই, কারণ গিজিপ মূলত ডিফলেটকে ঘিরে কেবল একটি শিরোনাম (আরএফসি 1951 এবং 1952 দেখুন)।


3

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


সম্ভবত জিজিপ দিয়ে আপনি সমস্ত ডেটা প্রাপ্ত, সঞ্চয় এবং সংকুচিত না করা পর্যন্ত আপনি শিরোনামকে সঞ্চারিত করতে শুরু করতে পারবেন না ? (কারণ শিরোনাম তৈরি করতে আপনার চেকসাম প্রয়োজন)
ওজেডাব্লু

8
জিজিপ ফর্ম্যাটে, চেকসামটি ফাইলের শেষে আসে, বিশেষত কেউ ডিলেটলেট ব্লকগুলি লিখতে শুরু করতে পারে কারণ সমস্ত কিছু ধরে না রেখে প্রক্রিয়াজাত করা হয়।
জ্যাক লয়েড

2

mod_deflate আপনার সার্ভারে কম সংস্থান দরকার, যদিও আপনি সংক্ষেপণের পরিমাণের তুলনায় একটি সামান্য জরিমানা দিতে পারেন।

আপনি যদি অনেক ছোট ফাইল পরিবেশন করে থাকেন তবে আমি বেঞ্চমার্কিং এবং লোডগুলি আপনার সংকুচিত এবং সঙ্কুচিত সমাধানগুলি পরীক্ষা করার পরামর্শ দিচ্ছি - আপনি এমন কিছু ক্ষেত্রে খুঁজে পেতে পারেন যেখানে সংক্ষিপ্তকরণ সক্ষমকরণের ফলে সঞ্চয় না হয় in


যার জন্য যে ভাবছে, ডিলেটলেট সহ আমার পাঠ্য ফাইলগুলি 30KB থেকে 10KB এ যায় - সুতরাং কোনও সঞ্চয় না পাওয়ার জন্য ফাইলগুলি তার চেয়েও ছোট হতে হবে। আমি অনুমান করছি 1KB এর চেয়ে কম বা অনুরূপ কিছু।
হেক্সটেক

0

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


জিজেপ সম্ভবত ডেকম্প্রেশনটিতে চেকসামটি পরীক্ষা করে, তাই সংক্ষেপনের জন্য গতির পার্থক্য।
Seun Osewa

-1

অ্যাপাচি 2 সহ উবুন্টুতে এবং ইতিমধ্যে ইনস্টল করা ডিফল্ট মডিউল (এটি এটি ডিফল্টরূপে), আপনি দুটি সহজ পদক্ষেপে ডিফলেট জিজিপ সংক্ষেপণ সক্ষম করতে পারবেন :

a2enmod deflate
/etc/init.d/apache2 force-reload

আর তুমি দূরে! আমি আমার এডসেল সংযোগের উপরে পরিবেশন করা পৃষ্ঠাগুলি খুব দ্রুত লোড পেয়েছি।

সম্পাদনা: @ জার্মটভেনডেনবার্গের মন্তব্য অনুসারে, এটি গিজিপ সংকোচনে সক্ষম করে, ডিলেটলেট নয়।


6
Modzdeflate বিভ্রান্তিকরভাবে কেবল gzip সংক্ষেপণ প্রয়োগ করে ... যেটি গিজিপ সক্ষম করে ব্যতীত ...
Gert ভ্যান ডান বার্গ

@GertvandenBerg আমি আমার উত্তর আপডেট করেছি, কিন্তু রেকর্ডের জন্য, gzip, হয় চুপসে শুধু অতিরিক্ত হেডার এবং একটি চেকসাম সঙ্গে
Aidan

@ আইডেন হ্যাঁ তবে চেকসামের পারফরম্যান্সের প্রভাব রয়েছে ... (এবং কাঁচা ডিফল্ট মান সম্মত নয়)
গার্ট ভ্যান ডান বার্গ

-4

যদি অামি যথাযথভাবে স্মরণ করি

  • গিজিপ Deflate চেয়ে কিছুটা কমপ্রেস করবে
  • অপসারণ আরও দক্ষ

2
gzip একটি শিরোলেখের সাথে বিচ্ছিন্ন হয়। এবং এইচটিটিপি 1.1 ডিফল্টটি আসলে জ্লিব (যা ডিফল্টের চারপাশে একটি মোড়কও রয়েছে)
ডেভিড মুরডোক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.