انگلیسیفرانسویاسپانیایی

Ad


فاویکون OnWorks

memcaslap - آنلاین در ابر

اجرای memcaslap در ارائه دهنده هاست رایگان OnWorks از طریق Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS

این دستور memcaslap است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


memaslap - libmemcached Documentation

خلاصه


memaslap [گزینه ها]

--کمک

MEMCACHED_SERVERS

شرح


اسالمی یک ابزار تولید بار و معیار برای سرورهای memcached است. تولید می کند
حجم کاری قابل تنظیم مانند رشته ها، همزمانی ها، اتصالات، زمان اجرا، بازنویسی،
نرخ از دست دادن، اندازه کلید، اندازه مقدار، نسبت دریافت/تنظیم، توان عملیاتی مورد انتظار و غیره.
علاوه بر این، تأیید داده ها، تأیید زمان انقضا، UDP، باینری را نیز آزمایش می کند
پروتکل، تست فیس بوک، تست تکرار، چند دریافت و اتصال مجدد و غیره.

Memaslap اتصالات شبکه را مانند memcached با libevent مدیریت می کند. هر رشته از memaslap
با یک هسته CPU متصل است، همه رشته ها با یکدیگر ارتباط برقرار نمی کنند و وجود دارد
چندین اتصال سوکت در هر رشته هر اتصال توزیع اندازه کلید را حفظ می کند،
توزیع اندازه ارزش و توزیع فرمان به خودی خود.

شما می توانید سرورها را از طریق تعیین کنید پیامک -- سرورها گزینه یا از طریق متغیر محیطی
MEMCACHED_SERVERS.

ویژگی‌ها


Memslap برای اهداف زیر توسعه داده شده است:

اتصالات شبکه با libevent را به صورت ناهمزمان مدیریت می کند.

TCP و UDP را برای استفاده از IO غیر مسدود تنظیم کنید.

موازی سازی را بهبود می بخشد: عملکرد بالاتر در محیط های چند رشته ای.

راندمان زمان را بهبود می بخشد: سرعت پردازش سریع تر.

کلید و ارزش را کارآمدتر تولید می کند. توزیع اندازه کلید و اندازه ارزش
توزیع قابل تنظیم هستند.

از دستورهای get، multi-get و set پشتیبانی می کند. توزیع فرمان قابل تنظیم است.

از نرخ خطا و نرخ بازنویسی قابل کنترل پشتیبانی می کند.

پشتیبانی از داده ها و تأیید زمان انقضا.

از اطلاعات آماری تخلیه به صورت دوره ای پشتیبانی می کند.

از هزاران اتصال TCP پشتیبانی می کند.

پشتیبانی از پروتکل باینری

از تست فیس بوک (تنظیم با TCP و multi-get با UDP) و تست تکرار پشتیبانی می کند.

جزئیات


موثر پیاده سازی of شبکه می باشد.
برای memaslap، هر دو TCP و UDP از IO شبکه غیر مسدود کننده استفاده می کنند. همه رویدادهای شبکه هستند
مدیریت شده توسط libevent به عنوان memcached. ماژول شبکه memaslap مشابه memcached است.
Libevent می تواند اطمینان حاصل کند که memaslap می تواند شبکه را بسیار کارآمد اداره کند.

موثر پیاده سازی of چند رشته ای و همزمانی
Memslap پیاده سازی مشابه چند رشته ای با memcached را دارد. Memslap یکی را ایجاد می کند
یا رشته های خودگردان بیشتر؛ در صورت آزمایش سیستم، هر رشته با یک هسته CPU متصل می شود
تنظیم میل هسته CPU

علاوه بر این، هر رشته دارای یک حق مدیریت رویدادهای شبکه است. هر رشته
دارای یک یا چند همزمانی خودگردان و هر همزمانی یک یا چند سوکت دارد
اتصالات همه همزمانی ها با وجود اینکه هستند با یکدیگر ارتباط برقرار نمی کنند
در همین تاپیک

Memslap می تواند هزاران اتصال سوکت ایجاد کند و هر همزمان ده ها اتصال دارد
اتصالات سوکت هر همزمانی به صورت تصادفی یا متوالی یک سوکت را انتخاب می کند
اتصال از استخر اتصال سوکت آن برای اجرا، بنابراین memaslap می تواند هر همزمانی را تضمین کند
در هر زمان یک اتصال سوکت را کنترل می کند. کاربران می توانند تعداد آنها را مشخص کنند
همزمانی و اتصالات سوکت هر همزمانی مطابق انتظار آنها
حجم کار

موثر پیاده سازی of مولد کلید و ارزش
به منظور بهبود کارایی زمان و کارایی فضا، memaslap یک تصادفی ایجاد می کند
جدول کاراکترها با 10 میلیون کاراکتر. تمام پسوندهای کلیدها و مقادیر تولید می شوند
از این جدول کاراکترهای تصادفی

Memslap از offset در جدول کاراکتر و طول رشته برای شناسایی a استفاده می کند
رشته می تواند حافظه زیادی را ذخیره کند. هر کلید شامل دو بخش، یک پیشوند و یک پسوند است. در
پیشوند یک uint64_t، 8 بایت است. به منظور تأیید مجموعه داده های قبلی، memaslap باید
اطمینان حاصل کنید که هر کلید منحصر به فرد است، بنابراین از پیشوند برای شناسایی یک کلید استفاده می کند. پیشوند نمی تواند
شامل کاراکترهای غیرقانونی، مانند "r"، "n"، "0" و "" است. و memaslap یک الگوریتم دارد
برای اطمینان از آن

Memslap همه اشیا (جفت کلید-مقدار) را در ابتدا تولید نمی کند. آن را فقط
اشیاء کافی برای پر کردن پنجره وظیفه (پیش‌فرض 10 هزار شی) هر کدام ایجاد می‌کند
همزمانی هر شی دارای اطلاعات اساسی زیر است، پیشوند کلید، پسوند کلید
آفست در جدول کاراکتر، طول کلید، تغییر مقدار در جدول کاراکتر و مقدار
طول

در فرآیند کار، هر همزمانی به صورت متوالی یا تصادفی یک شی را از بین انتخاب می کند
پنجره ای برای انجام عملیات تنظیم یا دریافت عملیات. در همان زمان، هر همزمانی ضربه می زند
اشیاء را از پنجره خود خارج می کند و شی جدید را به آن اضافه می کند.

ساده اما مفید کار زمان بندی
Memslap از libevent برای زمان بندی تمام همزمانی رشته ها و هر همزمانی استفاده می کند.
وظایف را بر اساس پنجره وظایف محلی زمان بندی می کند. Memslap فرض می کند که اگر هر همزمانی
همان توزیع کلید، توزیع ارزش و توزیع دستورات را از
در خارج، memaslap تمام توزیع را به عنوان یک کل نگه می دارد. هر پنجره وظیفه شامل موارد زیادی است
از اشیاء، هر شی اطلاعات اولیه خود مانند کلید، مقدار، زمان انقضا و
به زودی. در هر زمان، تمام اشیاء در پنجره کلید و مقدار یکسان و ثابت را حفظ می کنند
توزیع اگر یک شی بازنویسی شود، مقدار شی به روز می شود.
Memslap داده ها یا زمان انقضا را مطابق اطلاعات شی ذخیره شده در آن تأیید می کند
پنجره وظیفه

Libevent انتخاب می کند که کدام همزمانی را بر اساس یک رویداد شبکه خاص مدیریت کند. سپس
Concurrency انتخاب می کند که کدام دستور (دریافت یا تنظیم) بر اساس دستور عمل کند
توزیع اگر برای نگهداری نیاز به بیرون انداختن یک شی قدیمی و اضافه کردن یک شی جدید دارد
توزیع کلید و مقدار یکسان، شی جدید باید طول کلید یکسانی داشته باشد
طول ارزش

اگر سرور memcached دارای دو لایه کش (حافظه و SSD) باشد، در حال اجرا memaslap با متفاوت
اندازه‌های پنجره می‌توانند نرخ‌های متفاوتی از دست دادن حافظه پنهان را دریافت کنند. اگر memaslap به اندازه کافی اشیاء را به آن اضافه کند
ویندوز در ابتدا، و حافظه پنهان memcached نمی تواند همه اشیاء را ذخیره کند
مقداردهی اولیه می شود، سپس memaslap از لایه دوم حافظه پنهان، تعدادی اشیاء را دریافت می کند. این باعث می شود
اولین لایه کش که از دست می رود. بنابراین کاربر می تواند اندازه پنجره را مشخص کند تا به اندازه مورد انتظار برسد
نرخ از دست دادن اولین لایه کش

مفید پیاده سازی of چند سرور , UDP ، TCP ، چند گرفتن و دوتایی پروتکل
از آنجایی که هر رشته ای خودگردان است، memaslap می تواند رشته های مختلفی را برای مدیریت اختصاص دهد.
سرورهای مختلف memcached این تنها یکی از روش هایی است که در آن memaslap چندین آزمایش را انجام می دهد
سرورها تنها محدودیت این است که تعداد سرورها نمی تواند بیشتر از آن باشد
تعداد رشته ها راه دیگر برای آزمایش چندین سرور، آزمایش تکرار است. هر یک
Concurrency یک اتصال سوکت به هر سرور memcached دارد. برای اجرا،
memaslap می تواند برخی از اشیاء را روی یک سرور memcached تنظیم کند و این اشیاء را از سرور دریافت کند
سرورهای دیگر

به‌طور پیش‌فرض، Memslap یک‌بار دریافت می‌کند. اگر کاربر گزینه multi-get را مشخص کند، memaslap انجام خواهد شد
به اندازه کافی دستورات دریافت کنید و دستورات را با هم بسته و ارسال کنید.

Memslap هم پروتکل ASCII و هم پروتکل باینری را آزمایش می کند، اما روی ASCII اجرا می شود.
پروتکل به صورت پیش فرض Memslap به طور پیش فرض روی پروتکل TCP اجرا می شود، اما UDP را نیز آزمایش می کند.
از آنجایی که UDP قابل اعتماد نیست، ممکن است بسته‌های حذف شده و بسته‌های خارج از سفارش رخ دهند. Memslap
یک بافر حافظه برای رسیدگی به این مشکلات ایجاد می کند. Memslap سعی می کند تمام پاسخ ها را بخواند
داده های یک فرمان از سرور و مرتب سازی مجدد داده های پاسخ. اگر برخی از بسته ها دریافت کنید
از دست رفته، مکانیسم زمان انتظار می تواند اطمینان حاصل کند که بسته های نیمه پخته دور ریخته می شوند و
دستور بعدی ارسال خواهد شد.

طریقه استفاده


در زیر چند نمونه استفاده آورده شده است:

memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

کاربر باید حداقل یک سرور برای اجرای memaslap مشخص کند. بقیه پارامترها دارند
مقادیر پیش فرض، همانطور که در زیر نشان داده شده است:

شماره نخ = 1 همزمانی = 16

زمان اجرا = 600 ثانیه فایل پیکربندی = NULL

اندازه کلید = 64 اندازه مقدار = 1024

دریافت/تنظیم = 9:1 اندازه پنجره = 10k

عدد اجرا = 0 دریافت واحد = درست

Multi-get = false تعداد سوکت های هر همزمانی = 1

اتصال مجدد = غلط تأیید داده = نادرست

تأیید زمان انقضا = پروتکل ASCII نادرست = درست است

پروتکل باینری = اطلاعات آماری Dumping نادرست

دوره ای = نادرست

نسبت رونویسی = 0% UDP = نادرست

TCP = واقعی حد توان عملیاتی = نادرست

تست فیس بوک = false Replication test = false

کلید اندازه، ارزش اندازه و فرمان توزیع.
همه توزیع ها از فایل پیکربندی مشخص شده توسط کاربر خوانده می شوند
گزینه "-cfg_cmd". اگر کاربر یک فایل پیکربندی را مشخص نکند، memaslap اجرا خواهد شد
با توزیع پیش فرض (اندازه کلید = 64، اندازه مقدار = 1024، دریافت/ست = 9:1). برای
اطلاعات مربوط به نحوه ویرایش فایل پیکربندی، به "فایل پیکربندی" مراجعه کنید.
بخش.

حداقل اندازه کلید 16 بایت است. حداکثر اندازه کلید 250 بایت است. دقت از
نسبت 0.001 است. نسبت توزیع به 3 رقم اعشار گرد می شود.

حداقل اندازه مقدار 1 بایت است. حداکثر اندازه مقدار 1M بایت است. دقت از
نسبت 0.001 است. نسبت توزیع به 3 رقم اعشار گرد می شود.
در حال حاضر، memaslap فقط testss set and get commands. و 100% ست و 100% دریافت می کند.
برای دریافت 100%، برخی از اشیاء را به سرور از پیش تنظیم می کند.

چند رشته ای و همزمانی
کارایی بالای memaslap از برنامه زمانی ویژه نخ و
همزمانی مهم است که تعداد مناسب آنها را مشخص کنید. شماره پیش فرض از
موضوعات 1 است; تعداد پیش فرض همزمانی 16 است. کاربر می تواند از "-threads" و
"--concurrency" برای تعیین این متغیرها.

اگر سیستم تنظیم وابستگی CPU و تعداد رشته های مشخص شده توسط کاربر را آزمایش کند.
بزرگتر از 1 است، memaslap سعی می کند هر رشته را به یک هسته CPU متفاوت متصل کند. بنابراین اگر
شما می خواهید بهترین ممسلپ عملکرد را دریافت کنید، بهتر است تعداد آن را مشخص کنید
thread برابر با تعداد هسته های CPU است. تعداد نخ های مشخص شده توسط کاربر می تواند
همچنین کمتر یا بیشتر از تعداد هسته های CPU باشد. به دلیل محدودیت
پیاده سازی، تعداد همزمانی ها می تواند مضربی از تعداد باشد
موضوعات.

1. برای سیستم 8 هسته CPU

مثلا:

--threads=2 --concurrency=128

--threads=8 --concurrency=128

--threads=8 --concurrency=256

--threads=12 --concurrency=144

2. برای سیستم 16 هسته CPU

مثلا:

--threads=8 --concurrency=128

--threads=16 --concurrency=256

--threads=16 --concurrency=512

--threads=24 --concurrency=288

هنگامی که برای آزمایش عملکرد سرورهای حافظه پنهان استفاده می شود، memaslap بسیار خوب عمل می کند.
بیشتر اوقات، گلوگاه شبکه یا سرور است. اگر به دلایلی کاربر
می خواهد عملکرد memaslap را محدود کند، دو راه برای انجام این کار وجود دارد:

تعداد رشته ها و همزمانی ها را کاهش دهید. از گزینه "--tps" که memaslap می کند استفاده کنید
برای محدود کردن توان عملیاتی فراهم می کند. این گزینه به کاربر این امکان را می دهد که مورد انتظار را بدست آورد
توان عملیاتی به عنوان مثال، فرض کنید که حداکثر توان عملیاتی 50 kops/s برای یک مورد خاص است
پیکربندی، می توانید توان عملیاتی را برابر یا کمتر از حداکثر توان تعیین کنید
با استفاده از گزینه "--tps".

پنجره اندازه
بیشتر اوقات، کاربر نیازی به تعیین اندازه پنجره ندارد. پنجره پیش فرض
سایز 10k هست برای Schooner Memcached، کاربر می تواند اندازه های مختلف پنجره را برای دریافت مشخص کند
نرخ های مختلف از دست دادن حافظه پنهان بر اساس مورد آزمایشی. Memslap testss cache miss rate بین
0% و 100% اگر از این ابزار برای آزمایش عملکرد Schooner Memcached استفاده می کنید، شما
می تواند یک اندازه پنجره مناسب را برای دریافت نرخ از دست دادن حافظه پنهان مشخص کند. فرمول برای
محاسبه اندازه پنجره به شرح زیر است:

فرض کنید که اندازه کلید 128 بایت و اندازه مقدار 2048 بایت است، و
همزمانی=128.

1. کش کوچک cache_size=1M، 100% از دست رفتن کش (همه داده ها از SSD دریافت می شوند). win_size=10k

2. cache_size=4G

(1). نرخ از دست دادن حافظه پنهان 0%

win_size=8k

(2). نرخ از دست دادن حافظه پنهان 5%

win_size=11k

3. cache_size=16G

(1). نرخ از دست دادن حافظه پنهان 0%

win_size=32k

(2). حافظه پنهان

نرخ 5%

win_size=46k

فرمول محاسبه اندازه پنجره برای نرخ از دست دادن حافظه پنهان 0٪:

cache_size / concurrency / (key_size + value_size) * 0.5

فرمول محاسبه اندازه پنجره برای نرخ از دست دادن حافظه پنهان 5٪:

cache_size / concurrency / (key_size + value_size) * 0.7

تایید
Memslap هم تأیید داده ها و هم تأیید زمان انقضا را آزمایش می کند. کاربر می تواند استفاده کند
"--verify=" یا "-v" برای تعیین نسبت تأیید داده ها. در تئوری تست می کند
100٪ تایید داده ها کاربر می تواند از "--exp_verify=" یا "-e" برای تعیین نسبت استفاده کند
تایید زمان انقضا در تئوری، 100٪ تأیید زمان انقضا را آزمایش می کند. مشخص كردن
گزینه های "--verbose" برای دریافت اطلاعات دقیق تر خطا.

به عنوان مثال: --exp_verify=0.01 –verify=0.1، به این معنی است که 1٪ از اشیاء با
زمان انقضا، 10٪ از اشیاء به دست آمده تایید خواهد شد. اگر اشیاء بدست آمده باشند،
memaslap زمان انقضا و مقدار را تأیید می کند.

چند سرور و چند پیکربندی
Memslap چند سرور را بر اساس رشته خودگردان آزمایش می کند. محدودیتی وجود دارد که
تعداد سرورها نمی تواند بیشتر از تعداد رشته ها باشد. Memslap یکی را اختصاص می دهد
موضوعی برای رسیدگی به حداقل یک سرور. کاربر می تواند از گزینه "--servers=" یا "-s" استفاده کند
چند سرور را مشخص کنید

مثلا:

--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36

دستور بالا به این معنی است که 6 رشته وجود دارد که هر رشته دارای 6 همزمانی است.
و رشته های 0 و 3 سرور 0 (10.1.1.1) را مدیریت می کنند. موضوعات 1 و 4 سرور 1 را کنترل می کنند
(10.1.1.2); و thread 2 و 5 handle server 2 (10.1.1.3).

تمام موضوعات و همزمانی ها در memaslap خودگردان هستند.

memaslap هم همینطور. کاربر می تواند چندین نمونه memaslap را راه اندازی کند. کاربر می تواند اجرا کند
memaslap بر روی ماشین های کلاینت مختلف برای برقراری ارتباط با یک سرور memcached در
یکسان. توصیه می شود که کاربر با استفاده از دستگاه های مختلف، memaslap های مختلف را شروع کند
همان پیکربندی

دویدن با اجرا کردن عدد حالت or زمان حالت
Memaslap پیش‌فرض با حالت زمان اجرا می‌شود. زمان پیش فرض اجرا 10 دقیقه است. اگر زمان
بیرون، memaslap خارج خواهد شد. هر دو حالت شماره اجرا و حالت زمان را به طور همزمان مشخص نکنید
زمان؛ فقط یکی را به جای آن مشخص کنید.

مثلا:

--time=30s (به این معنی است که آزمون 30 ثانیه اجرا خواهد شد.)

--execute_number=100000 (یعنی پس از اجرای 100000 دستور، تست خارج می شود.)

زباله آمار اطلاعات به صورت دوره ای
کاربر می تواند از "--stat_freq=" یا "-S" برای تعیین فرکانس استفاده کند.

مثلا:

--stat_freq=20s

Memslap آمار دستورات (get and set) را در فرکانس هر یک از آنها حذف می کند
20 ثانیه صورت گرفت.

برای اطلاعات بیشتر در مورد فرمت اطلاعات آماری دامپینگ، به «فرمت از
بخش خروجی

چند گرفتن
کاربر می تواند از "--division=" یا "-d" برای تعیین تعداد کلیدهای چندگانه استفاده کند. Memslap توسط
پیش فرض تک با TCP دریافت می شود. Memslap همچنین تأیید داده ها و زمان انقضا را آزمایش می کند
تایید برای multi-get.

Memslap با هر دو TCP و UDP چند دریافت می کند. به دلیل اجرای متفاوت
پروتکل ASCII و پروتکل باینری، تفاوت هایی بین این دو وجود دارد. برای
با پروتکل ASCII، memaslap یک بار یک "multi-get" به سرور ارسال می کند. برای باینری
پروتکل، memaslap چندین دستور get را با هم به صورت "multi-get" به آن ارسال می کند
سرور

UDP و TCP
Memslap هر دو UDP و TCP را آزمایش می کند. برای TCP، memaslap سرور memcach شده را دوباره وصل نمی کند
اگر اتصالات سوکت قطع شود. اگر تمام اتصالات سوکت از بین رفته باشد یا سرور حافظه پنهان شود
خراب می شود، memaslap خارج می شود. اگر کاربر هنگام سوکت گزینه «--reconnect» را مشخص کند
اتصالات از بین می روند، آنها را دوباره وصل می کند.

کاربر می تواند از "--udp" برای فعال کردن ویژگی UDP استفاده کند، اما UDP با محدودیت هایی همراه است:

UDP نمی تواند داده های بیش از 1400 بایت را تنظیم کند.

UDP توسط پروتکل باینری آزمایش نمی شود زیرا پروتکل باینری memcached آزمایش می کند
آن را آزمایش نمی کند

UDP اتصال مجدد را آزمایش نمی کند.

فیس بوک آزمون
داده ها را با TCP تنظیم کنید و با UDP چند دریافت کنید. گزینه های زیر را مشخص کنید:

"--facebook --division=50"

اگر می خواهید هزاران اتصال TCP ایجاد کنید، آن را مشخص کنید

گزینه "--conn_sock=".

به عنوان مثال: --facebook --division=50 --conn_sock=200

دستور بالا به این معنی است که memaslap تست فیس بوک را انجام می دهد، هر همزمانی 200 دارد
اتصالات TCP سوکت و یک سوکت UDP.

Memslap اشیاء را با سوکت TCP تنظیم می کند و یک بار با UDP 50 شی را چند بار دریافت می کند.
سوکت

اگر "--division=50" را مشخص کنید، اندازه کلید باید کمتر از 25 بایت باشد زیرا UDP
اندازه بسته 1400 بایت است.

تکرار آزمون
برای تست تکرار، کاربر باید حداقل دو سرور memcached را مشخص کند. کاربر می تواند
از گزینه "—rep_write=" برای فعال کردن ویژگی استفاده کنید.

مثلا:

--servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2

دستور بالا به این معنی است که 2 سرور memcached تکرار وجود دارد، memaslap تنظیم خواهد شد
اشیاء به سرور 0 و سرور 1، اشیایی را دریافت کنید که قبلاً روی سرور 0 تنظیم شده اند
سرور 1 و همچنین اشیایی که قبلاً روی سرور 1 تنظیم شده اند را از سرور 0 دریافت کنید. اگر سرور 0 باشد
خراب می شود، memaslap فقط اشیاء را از سرور 1 دریافت می کند. اگر سرور 0 دوباره زنده شود
دوباره، memaslap سرور 0 را دوباره وصل می کند. اگر هر دو سرور 0 و سرور 1 خراب شوند، memaslap
خارج خواهد شد

پشتیبانی از هزاران نفر of TCP اتصالات
برای فعال کردن این ویژگی، memaslap را با "--conn_sock=" یا "-n" شروع کنید. مطمئن شوید که شما
سیستم می تواند باز کردن هزاران فایل و ایجاد هزاران سوکت را آزمایش کند. با این حال،
اگر سوکت ها قطع شوند، این ویژگی اتصال مجدد را آزمایش نمی کند.

مثلا:

--threads=8 --concurrency=128 --conn_sock=128

دستور بالا به این معنی است که memaslap 8 رشته را راه اندازی می کند که هر رشته دارای 16 رشته است.
همزمان، هر همزمان دارای 128 اتصال سوکت TCP و تعداد کل
اتصالات سوکت TCP 128 * 128 = 16384 است.

پشتیبانی از دوتایی پروتکل
برای فعال کردن این ویژگی، memaslap را با گزینه های "--binary" یا "-B" شروع کنید. همه رو تست میکنه
ویژگی های فوق به جز UDP، زیرا آخرین memcached 1.3.3 باینری را پیاده سازی نمی کند
پروتکل UDP

مثلا:

--دودویی

از آنجایی که memcached 1.3.3 پروتکل UDP باینری را پیاده سازی نمی کند، memaslap UDP را آزمایش نمی کند.
علاوه بر این، memcached 1.3.3 چند دریافت را آزمایش نمی کند. اگر "--division=50" را مشخص کنید
گزینه، فقط 50 دستور get را با هم به عنوان "mulit-get" به سرور ارسال می کند.

پیکربندی فایل


این بخش فرمت فایل پیکربندی را توضیح می دهد. به طور پیش فرض زمانی که خیر
فایل پیکربندی مشخص شده است که memaslap فایل پیش فرض واقع در آن را می خواند ~/.memaslap.cnf.

در زیر یک نمونه فایل پیکربندی آمده است:

-------------------------------------------------- -------------------------
#نظرات باید با "#" شروع شود
#کلید
نسبت #شروع_لن پایان_لن
#
محدوده طول #کلید از start_len تا end_len
#start_len باید مساوی یا بزرگتر از 16 باشد
#end_len باید مساوی یا کمتر از 250 باشد
#start_len باید مساوی یا بزرگتر از end_len باشد
#memaslap کلیدها را مطابق با محدوده کلید تولید می کند
#نسبت: کلیدهای تولید شده از یک محدوده را برای کل نشان می دهد
کلیدهای تولید شده
#
#example1: محدوده کلید 16 تا 100 80٪ را به خود اختصاص می دهد
# محدوده کلید 101 تا 200 10٪ را به خود اختصاص می دهد
# محدوده کلید 201 تا 250 10٪ را به خود اختصاص می دهد
# کل باید 1 باشد (0.8+0.1+0.1 = 1)
#
# 16 100 0.8
# 101 200 0.1
# 201 249 0.1
#
#example2: طول تمام کلیدها 128 بایت است
#
# 128 128 1
کلید
128 128 1
#ارزش
نسبت #شروع_لن پایان_لن
#
محدوده طول #مقدار از start_len تا end_len
#start_len باید مساوی یا بزرگتر از 1 باشد
#end_len باید برابر یا کمتر از 1M باشد
#start_len باید مساوی یا بزرگتر از end_len باشد
#memaslap مقادیری را مطابق با محدوده مقدار تولید می کند
#proportion: مقادیر تولید شده از یک محدوده را نشان می دهد
مجموع مقادیر تولید شده
#
#example1: محدوده مقدار 1 تا 1000 80٪ را به خود اختصاص می دهد
محدوده مقدار # 1001 تا 10000 10٪ را به خود اختصاص می دهد
محدوده مقدار # 10001 تا 100000 10٪ را به خود اختصاص می دهد
# کل باید 1 باشد (0.8+0.1+0.1 = 1)
#
# 1 1000 0.8
# 1001 10000 0.1
# 10001 100000 0.1
#
#example2: طول تمام مقادیر 128 بایت است
#
# 128 128 1
ارزش
2048 2048 1
#cmd
#cmd_type cmd_proportion
#
#در حال حاضر memaslap فقط دستور دریافت و تنظیم را انجام می دهد.
#
#cmd_type
#ست 0
#به دست آوردن 1
#
#example: دستور set برای 50٪ حساب ها
# دریافت دستور حساب برای 50٪
# کل باید 1 باشد (0.5+0.5 = 1)
#
# cmd
# 0
# 1
CMD
0 0.1
1.0 0.9

FORMAT OF OUTPUT


در ابتدا، memaslap برخی از اطلاعات پیکربندی را به صورت زیر نمایش می دهد:

سرورها: 127.0.0.1:11211

تعداد رشته ها: 1

همزمانی: 16

زمان اجرا: 20 ثانیه

اندازه ویندوز: 10 کیلو

نسبت تنظیم: set_prop=0.10

دریافت نسبت: get_prop=0.90

جایی که
سرورها: "سرورها"
سرورهای استفاده شده توسط memaslap.

رشته ها به حساب می آیند
تعداد رشته هایی که memaslap با آنها اجرا می شود.

همزمانی
تعداد همزمانی هایی که memaslap با آنها اجرا می شود.

زمان اجرا
مدت زمان اجرای memaslap

اندازه ویندوز
اندازه پنجره وظیفه هر همزمانی.

تناسب را تنظیم کنید
نسبت دستور مجموعه.

نسبت به دست آوردن
نسبت دستور get.

خروجی آمار پویا چیزی شبیه به این است:

-------------------------------------------------- -------------------------------------------------- -----------------------------
دریافت آمار
نوع زمان(ها) عملیات TPS(عملکردها) خالص(M/s) Get_miss حداقل(ما) حداکثر(ما)
میانگین (ما) Std_dev Geo_dist
دوره 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
Global 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

تنظیم آمار
نوع زمان(ها) عملیات TPS(عملکردها) خالص(M/s) Get_miss حداقل(ما) حداکثر(ما)
میانگین (ما) Std_dev Geo_dist
دوره 5 38425 7685 7.3 0 42 628 240
88.05 220.21
Global 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

آمار کل
نوع زمان(ها) عملیات TPS(عملکردها) خالص(M/s) Get_miss حداقل(ما) حداکثر(ما)
میانگین (ما) Std_dev Geo_dist
دوره 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
Global 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

جایی که
دریافت آمار
اطلاعات آماری دستور get

تنظیم آمار
اطلاعات آماری دستور set

آمار کل
اطلاعات آماری دستور get و set

دوره زمانی
نتیجه در یک دوره

جهانی
نتایج انباشته شده

عملیات
کل عملیات

TPS
توان عملیاتی/ثانیه

خالص
نرخ شبکه

Get_miss
چه تعداد از اشیاء را نمی توان دریافت کرد

حداقل
حداقل زمان پاسخگویی

حداکثر
حداکثر زمان پاسخگویی

میانگین:
میانگین زمان پاسخگویی

Std_dev
انحراف استاندارد زمان پاسخگویی

Geo_dist
توزیع هندسی بر اساس تابع نمایی طبیعی

در پایان، memaslap چیزی شبیه به این خروجی خواهد داد:

-------------------------------------------------- -------------------------------------------------- -----------------------------
دریافت آمار (1257956 رویداد)
حداقل: 26
حداکثر: 3791
میانگین: 224
موقعیت جغرافیایی: 192.60
Std: 116.23
Log2 Dist:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12: 31

تنظیم آمار (139782 رویداد)
حداقل: 37
حداکثر: 3790
میانگین: 253
موقعیت جغرافیایی: 224.84
Std: 116.83
Log2 Dist:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12: 5

کل آمار (1397738 رویداد)
حداقل: 26
حداکثر: 3791
میانگین: 227
موقعیت جغرافیایی: 195.60
Std: 116.60
Log2 Dist:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12: 36

cmd_get: 1257969
cmd_set: 139785
get_misses: 0
verify_misses: 0
verify_failed: 0
expired_get: 0
unexpired_unget: 0
write_bytes: 242516030
read_bytes: 1003702556
object_bytes: 152086080
packet_disorder: 0
packet_drop: 0
udp_timeout: 0

زمان اجرا: 20.0s عملیات: 1397754 TPS: 69817 Net_rate: 59.4M/s
-------------------------------------------------- -------------------------------------------------- -----------------------------

جایی که
دریافت آمار
آمار زمان پاسخگویی را دریافت کنید

تنظیم آمار
تنظیم آمار زمان پاسخگویی

آمار کل
هم آمار زمان پاسخ را دریافت و هم تنظیم کنید

حداقل
زمان پاسخ انباشته شده و حداقل

حداکثر
زمان پاسخ انباشته و حداکثر

میانگین
زمان پاسخ انباشته و متوسط

انحراف
انحراف استاندارد زمان پاسخگویی

Log2 Dist
توزیع هندسی بر اساس لگاریتم 2

cmd_get
کل دستورات انجام شد

cmd_set
کل دستورات مجموعه انجام شد

get_misses
چه تعداد از اشیاء را نمی توان از سرور دریافت کرد

verify_misses
چند شیء نیاز به تأیید دارند اما نمی‌توان آنها را دریافت کرد

verify_failed
چند شی با ارزش اصرار

expired_get
چه تعداد از اشیاء منقضی شده اند اما ما آنها را دریافت می کنیم

unexpired_unget
چه تعداد از اشیاء منقضی نشده اند اما ما نمی توانیم آنها را دریافت کنیم

write_bytes
کل بایت های نوشته شده

read_bytes
کل بایت های خوانده شده

object_bytes
کل بایت شی

بسته_بی نظمی
چند بسته UDP بی نظم هستند

packet_drop
چند بسته UDP از بین رفته است

udp_timeout
چند بار UDP time out اتفاق می افتد

زمان اجرا
کل زمان اجرا

عملیات
کل عملیات

TPS
توان عملیاتی/ثانیه

نرخ_خالص
میانگین نرخ شبکه

OPTIONS


-s ، --سرورها=
یک یا چند سرور را برای اتصال فهرست کنید. تعداد سرورها باید کمتر از تعداد رشته ها باشد.
به عنوان مثال: --servers=localhost:1234,localhost:11211

-T، -- نخ ها =
تعداد Thread ها برای راه اندازی، بهتر است برابر با شماره CPU باشد. پیش فرض 8.

-c، --concurrency=
تعداد همزمانی برای شبیه سازی با بار. پیش فرض 128.

-n، --conn_sock=
تعداد جوراب های TCP در هر همزمانی. پیش فرض 1.

-ایکس، --execute_number=
تعداد عملیات (به دست آوردن و تنظیم) برای اجرای آزمون داده شده. پیش فرض 1000000.

-t، --زمان=
مدت زمان اجرای آزمون، پسوند: ثانیه ثانیه، m-دقیقه، ساعت ساعت، d-روز به عنوان مثال:
--time=2h.

-اف، --cfg_cmd=
فایل پیکربندی را برای دریافت لیست توزیع دستور، کلید و مقدار بارگذاری کنید.

-w، --win_size=
اندازه پنجره وظیفه هر همزمانی، پسوند: K، M به عنوان مثال: --win_size=10k. پیش فرض
10 کیلو

-ایکس، --fixed_size=
طول ثابت ارزش

-v، -- تأیید =
نسبت تأیید تاریخ، به عنوان مثال: --verify=0.01

-د، --تقسیم=
تعداد کلیدهای یکبار چند گرفتن. پیش‌فرض 1، به معنای دریافت واحد است.

-S، --stat_freq=
فراوانی اطلاعات آماری دامپینگ. پسوند: s-seconds، m-minutes، به عنوان مثال:
--resp_freq=10s.

-ه ، --exp_verify=
نسبت اشیاء با زمان انقضا، به عنوان مثال: --exp_verify=0.01. شماره پیش فرض
شی با زمان انقضا

-و ، -- رونویسی =
نسبت اشیا نیاز به بازنویسی دارند، به عنوان مثال: --overwrite=0.01. پیش فرض هرگز
رونویسی شی

-R, -- دوباره وصل شوید
تست های اتصال مجدد، زمانی که اتصال بسته شد دوباره وصل می شود.

-U, --udp
تست‌های UDP، پیش‌فرض memaslap از TCP استفاده می‌کند، پورت TCP و پورت UDP سرور باید یکسان باشند.

-a, --فیس بوک
چه قابلیت تست فیس بوک را فعال کند، چه با TCP تنظیم شود و چه با UDP چند دریافت کنید.

-B, --دودویی
این که آیا پروتکل باینری را فعال می کند. پیش فرض با پروتکل ASCII.

-پ، --tps=
توان عملیاتی مورد انتظار، پسوند: K، به عنوان مثال: --tps=10k.

-پ، --rep_write=
سرورهای n اول می توانند داده بنویسند، به عنوان مثال: --rep_write=2.

-b, -- پرحرف
این که آیا وقتی تأیید ناموفق است، اطلاعات دقیق را خروجی می دهد.

-h, --کمک
این پیام را نمایش دهید و سپس خارج شوید.

-V, - نسخه
نسخه برنامه را نمایش دهید و سپس خارج شوید.

مثال ها


memaslap -s 127.0.0.1:11211 -S 5s

memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

صفحه اصلی


برای کسب اطلاعات بیشتر لطفا بررسی کنید: http://libmemcached.org/

AUTHORS


مینگ چیانگ ژوانگ[ایمیل محافظت شده]> (Schooner Technolgy) برایان آکر، <‐
[ایمیل محافظت شده]>

با استفاده از خدمات onworks.net از memcaslap به صورت آنلاین استفاده کنید


سرورها و ایستگاه های کاری رایگان

دانلود برنامه های ویندوز و لینوکس

  • 1
    سوئیچ
    سوئیچ
    SWIG یک ابزار توسعه نرم افزار است
    که برنامه های نوشته شده به زبان C و را به هم متصل می کند
    C++ با انواع سطح بالا
    زبانهای برنامه نویسی. SWIG با استفاده می شود
    ناهمسان...
    SWIG را دانلود کنید
  • 2
    تم ووکامرس Nextjs React
    تم ووکامرس Nextjs React
    موضوع React WooCommerce، ساخته شده با
    Next JS، Webpack، Babel، Node و
    Express با استفاده از GraphQL و Apollo
    مشتری. فروشگاه ووکامرس در React(
    شامل: محصولات ...
    دانلود قالب WooCommerce Nextjs React
  • 3
    archlabs_repo
    archlabs_repo
    مخزن بسته برای ArchLabs این یک است
    برنامه ای که می توان آن را نیز واکشی کرد
    از جانب
    https://sourceforge.net/projects/archlabs-repo/.
    در OnWorks در...
    دانلود archlabs_repo
  • 4
    پروژه زفیر
    پروژه زفیر
    پروژه Zephyr یک نسل جدید است
    سیستم عامل بلادرنگ (RTOS) که
    از چندین سخت افزار پشتیبانی می کند
    معماری ها بر اساس الف است
    هسته با ردپای کوچک ...
    دانلود پروژه Zephyr
  • 5
    جواهرات
    جواهرات
    SCons یک ابزار ساخت نرم افزار است
    که جایگزینی برتر برای
    کلاسیک "ساخت" ابزار ساخت که
    همه ما می دانیم و دوست داریم. SCons است
    یک ...
    SCons را دانلود کنید
  • 6
    PSeInt
    PSeInt
    PSeInt یک مفسر شبه کد برای است
    دانشجویان برنامه نویسی اسپانیایی زبان
    هدف اصلی آن این است که ابزاری برای
    یادگیری و درک اصول اولیه
    مفهوم ...
    PSeInt را دانلود کنید
  • بیشتر "

دستورات لینوکس

Ad