| MARIADB-SLAP(1) | MariaDB Database System | MARIADB-SLAP(1) |
نام (NAME)
mariadb-slap - برنامه شبیهساز بار کلاینت (دستور mariadb-slap اکنون یک پیوند نمادین به mariadb-slap است)
خلاصه دستور (SYNOPSIS)
mariadb-slap [options]
توضیحات (DESCRIPTION)
mariadb-slap یک برنامه تشخیصی است که برای شبیهسازی بار کلاینت بر روی سرور MariaDB و گزارش زمانبندی هر مرحله طراحی شده است. این ابزار به گونهای عمل میکند که گویی چندین کلاینت همزمان در حال دسترسی به سرور هستند.
دستور mariadb-slap را به این صورت فراخوانی کنید:
shell> mariadb-slap [options]
برخی گزینهها مانند --create یا --query به شما امکان میدهند رشتهای حاوی یک دستور SQL یا فایلی حاوی چندین دستور را مشخص کنید. اگر فایلی را مشخص کنید، به صورت پیشفرض باید در هر خط یک دستور قرار داشته باشد. (یعنی جداکننده پیشفرض و ضمنی دستورها نویسه خط جدید است.) از گزینه --delimiter برای تعیین یک جداکننده متفاوت استفاده کنید؛ این کار به شما امکان میدهد دستورهایی بنویسید که در چند خط امتداد دارند یا چندین دستور را در یک خط قرار دهید. شما نمیتوانید در فایل از کامنتها استفاده کنید؛ چرا که mariadb-slap آنها را درک نمیکند.
mariadb-slap در سه مرحله اجرا میشود:
مثالها:
دستورهای SQL ایجاد و پرسوجوی دلخواه خود را مشخص کنید، با ۵۰ کلاینت که پرسوجو میکنند و ۲۰۰ دستور select برای هر کلاینت:
mariadb-slap --delimiter=";" \ --create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" \ --query="SELECT * FROM a" --concurrency=50 --iterations=200
اجازه دهید mariadb-slap دستور SQL پرسوجو را با جدولی شامل دو ستون INT و سه ستون VARCHAR بسازد. از پنج کلاینت استفاده کنید که هر کدام ۲۰ بار پرسوجو میکنند. جدول را ایجاد نکنید و دادهها را درج نکنید (یعنی از طرحواره و دادههای آزمون قبلی استفاده شود):
mariadb-slap --concurrency=5 --iterations=20 \ --number-int-cols=2 --number-char-cols=3 \ --auto-generate-sql
به برنامه بگویید دستورهای SQL ایجاد، درج و پرسوجو را از فایلهای مشخصشده بارگذاری کند، به طوری که فایل create.sql شامل چندین دستور ایجاد جدول باشد که با ';' از هم جدا شدهاند و چندین دستور درج با جداکننده ';'. فایل --query شامل چندین پرسوجو با جداکننده ';' خواهد بود. تمام دستورهای بارگذاری را اجرا کنید، سپس تمام پرسوجوهای فایل پرسوجو را با پنج کلاینت (هر کدام پنج بار) اجرا کنید:
mariadb-slap --concurrency=5 \ --iterations=5 --query=query.sql --create=create.sql \ --delimiter=";"
mariadb-slap از گزینههای زیر پشتیبانی میکند که میتوان آنها را در خط فرمان یا در گروههای [mariadb-slap] و [client] فایلهای تنظیمات مشخص کرد. mariadb-slap همچنین از گزینههای پردازش فایلهای تنظیمات پشتیبانی میکند.
نمایش پیام راهنما و خروج.
تولید خودکار دستورهای SQL در صورتی که در فایلها یا از طریق گزینههای خط فرمان ارائه نشده باشند.
افزودن یک ستون AUTO_INCREMENT به جدولهای تولیدشده به صورت خودکار.
مشخص کردن تعداد پرسوجوهایی که باید به صورت خودکار تولید شوند.
افزودن یک کلید اصلی مبتنی بر GUID به جدولهای تولیدشده به صورت خودکار.
مشخص کردن نوع بار آزمون. مقادیر مجاز عبارتند از: read (پیمایش جدولها)، write (درج در جدولها)، key (خواندن کلیدهای اصلی)، update (بهروزرسانی کلیدهای اصلی)، یا mixed (نیمی درج، نیمی پیمایش با select). مقدار پیشفرض mixed است.
مشخص کردن تعداد نمایههای ثانویه برای افزودن به جدولهای تولیدشده به صورت خودکار. به صورت پیشفرض، هیچ نمایهای افزوده نمیشود.
تعداد پرسوجوهای متفاوتی که برای آزمونهای خودکار تولید میشوند. به عنوان مثال، اگر یک آزمون key را اجرا کنید که ۱۰۰۰ دستور select انجام میدهد، میتوانید از این گزینه با مقدار ۱۰۰۰ برای اجرای ۱۰۰۰ پرسوجوی یکتا، یا با مقدار ۵۰ برای اجرای ۵۰ دستور select متفاوت استفاده کنید. مقدار پیشفرض ۱۰ است.
تعداد پرسوجوهای متفاوتی که برای --auto-generate-sql-write-number تولید میشوند. مقدار پیشفرض ۱۰ است.
تعداد درج سطر که در هر رشته (thread) انجام میشود. مقدار پیشفرض ۱۰۰ است.
تعداد دستورهایی که قبل از ثبت نهایی (commit) اجرا میشوند. مقدار پیشفرض 0 است (هیچ commit انجام نمیشود).
فشردهسازی تمام اطلاعات ارسالی میان کلاینت و سرور در صورتی که هر دو از فشردهسازی پشتیبانی کنند.
تعداد کلاینتهایی که هنگام صدور دستور SELECT شبیهسازی میشوند.
فایل یا رشتهای حاوی دستوری که برای ایجاد جدول استفاده میشود.
طرحوارهای (schema) که آزمونها باید در آن اجرا شوند.
تولید خروجی در قالب مقادیر جداشده با کاما (CSV). خروجی به فایل مشخصشده ارسال میشود، یا اگر فایلی داده نشود، به خروجی استاندارد هدایت میشود.
نوشتن یک لاگ اشکالزدایی. یک رشتهٔ معمول برای debug_options به صورت 'd:t:o,file_name' است. مقدار پیشفرض 'd:t:o,/tmp/mariadb-slap.trace' است.
چاپ برخی اطلاعات اشکالزدایی هنگام خروج برنامه.
چاپ اطلاعات اشکالزدایی و آمار مصرف حافظه و پردازنده هنگام خروج برنامه.
پلاگین پیشفرض سمت کلاینت برای احراز هویت.
تنظیم filename به عنوان فایلی که پس از خواندن فایلهای پیشفرض سراسری، گزینههای پیشفرض از آن خوانده شوند. باید به عنوان نخستین گزینه مشخص شود.
تنظیم filename به عنوان فایل خواندن گزینههای پیشفرض، که جایگزین فایلهای پیشفرض سراسری میشود. باید به عنوان نخستین گزینه مشخص شود.
جداکنندهای که در دستورهای SQL ارائهشده در فایلها یا از طریق گزینههای خط فرمان استفاده میشود.
جدا کردن (بستن و بازگشایی مجدد) هر اتصال پس از هر N دستور. مقدار پیشفرض 0 است (اتصالات جدا نمیشوند).
فهرستی از موتورهای ذخیرهسازی جداشده با کاما برای استفاده در ایجاد جدول. آزمون برای هر موتور اجرا میشود. همچنین میتوانید گزینهای را برای یک موتور پس از دونقطه مشخص کنید؛ برای مثال memory:max_row=2300.
اتصال به سرور MariaDB روی میزبان دادهشده.
دستور SQL برای اجرا هنگام اتصال به سرور MariaDB. هنگام اتصال مجدد به صورت خودکار دوباره اجرا خواهد شد.
تعداد دفعات اجرای آزمونها.
عدم خواندن گزینههای پیشفرض از هیچ فایل تنظیمی. این گزینه باید به عنوان نخستین آرگومان داده شود.
حذف نکردن هیچ طرحوارهای که در طول آزمون پس از پایان آزمون ایجاد شده است.
تعداد ستونهای VARCHAR مورد استفاده در صورت تعیین --auto-generate-sql.
تعداد ستونهای INT مورد استفاده در صورت تعیین --auto-generate-sql.
محدود کردن هر کلاینت به حدود این تعداد پرسوجو. شمارش پرسوجوها جداکننده دستورها را مد نظر قرار میدهد. برای مثال، اگر mariadb-slap را به صورت زیر فراخوانی کنید، جداکننده ; تشخیص داده میشود تا هر بار اجرای رشته پرسوجو به عنوان دو پرسوجو شمرده شود. در نتیجه، ۵ سطر (نه ۱۰ سطر) درج میشود.
shell> mariadb-slap --delimiter=";" --number-of-queries=10
--query="use test;insert into t values(null)"
عدم اتصال به پایگاههای داده. mariadb-slap تنها آنچه را که قرار بود انجام دهد چاپ میکند.
گذرواژه مورد استفاده هنگام اتصال به سرور. اگر از فرم کوتاه گزینه (-p) استفاده میکنید، نمیتوانید بین گزینه و گذرواژه فاصله بگذارید. اگر مقدار password را پس از گزینه --password یا -p در خط فرمان وارد نکنید، mariadb-slap آن را از شما درخواست میکند.
مشخص کردن گذرواژه در خط فرمان ناامن تلقی میشود. میتوانید از یک فایل تنظیمات برای اجتناب از وارد کردن گذرواژه در خط فرمان استفاده کنید.
در ویندوز، اتصال به سرور از طریق یک لوله نامگذاریشده (named pipe). این گزینه تنها در صورتی اعمال میشود که سرور از اتصالات لوله نامگذاریشده پشتیبانی کند.
دایرکتوری پلاگینهای سمت کلاینت.
شماره درگاه (پورت) TCP/IP برای برقراری اتصال. در صورت مشخص شدن در خط فرمان بدون سایر ویژگیهای اتصال، استفاده از --protocol=tcp را تحمیل میکند.
فایل یا رشتهای حاوی دستوری که پس از پایان آزمونها اجرا میشود. این اجرا برای اهداف زمانبندی محاسبه نمیشود.
رشتهای برای اجرا از طریق system() پس از پایان آزمونها. این اجرا برای اهداف زمانبندی محاسبه نمیشود.
فایل یا رشتهای حاوی دستوری که پیش از اجرای آزمونها اجرا میشود. این اجرا برای اهداف زمانبندی محاسبه نمیشود.
رشتهای برای اجرا از طریق system() پیش از اجرای آزمونها. این اجرا برای اهداف زمانبندی محاسبه نمیشود.
چاپ فهرست آرگومانهای برنامه و خروج. این گزینه باید به عنوان نخستین آرگومان داده شود.
پروتکل ارتباطی مورد استفاده برای اتصال به سرور. این گزینه زمانی مفید است که سایر پارامترهای اتصال به طور معمول پروتکلی غیر از پروتکل مورد نظر شما را انتخاب کنند.
فایل یا رشتهای حاوی دستور SELECT برای بازیابی دادهها.
در ویندوز، نام حافظه مشترک مورد استفاده برای اتصالاتی که از طریق حافظه مشترک به سرور محلی برقرار میشوند. این گزینه تنها در صورتی اعمال میشود که سرور از اتصالات حافظه مشترک پشتیبانی کند.
حالت بیصدا. بدون خروجی.
برای اتصال به localhost، فایل سوکت یونیکس مورد استفاده، یا در ویندوز، نام لوله نامگذاریشده مورد استفاده. در صورت مشخص شدن در خط فرمان بدون سایر ویژگیهای اتصال، استفاده از --protocol=socket را تحمیل میکند؛ در ویندوز استفاده از --protocol=pipe را تحمیل میکند.
فعالسازی SSL برای اتصال (با سایر گزینهها به طور خودکار فعال میشود). برای غیرفعالسازی از --skip-ssl استفاده کنید.
فایل CA با قالب PEM (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
دایرکتوری CA (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
گواهی X509 با قالب PEM (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
رمز (cipher) اساسال مورد استفاده (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
کلید X509 با قالب PEM (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
فهرست ابطال گواهی (CRL) (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
مسیر فهرست ابطال گواهی (مستندات OpenSSL را بررسی کنید، مستلزم --ssl است).
بررسی «نام مشترک» (Common Name) سرور در گواهی آن در برابر نام میزبان مورد استفاده هنگام اتصال. این گزینه به صورت پیشفرض غیرفعال است.
نام کاربری MariaDB مورد استفاده برای اتصال به سرور.
حالت پرگو (verbose). چاپ اطلاعات بیشتر درباره آنچه برنامه انجام میدهد. این گزینه میتواند چندین بار برای افزایش میزان اطلاعات تکرار شود.
نمایش اطلاعات نسخه و خروج.
حق نشر (COPYRIGHT)
حق نشر 2007-2008 متعلق به MySQL AB، 2008-2010 متعلق به Sun Microsystems, Inc.، 2010-2025 متعلق به MariaDB Foundation
این مستندات یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «مجوز عمومی همگانی گنو» (GNU General Public License) همانطور که توسط «بنیاد نرمافزار آزاد» (Free Software Foundation) منتشر شده است؛ نسخه ۲ این مجوز، بازتوزیع کرده و/یا تغییر دهید.
این مستندات به این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر «مجوز عمومی همگانی گنو» را ببینید.
شما باید همراه با این برنامه، نسخهای از «مجوز عمومی همگانی گنو» را دریافت کرده باشید؛ در غیر این صورت، به بنیاد نرمافزارهای آزاد با نشانی زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA یا به پیوند http://www.gnu.org/licenses مراجعه کنید.
همچنین ببینید (SEE ALSO)
برای کسب اطلاعات بیشتر، لطفاً به مستندات MariaDB که به صورت آنلاین در https://mariadb.com/docs در دسترس است مراجعه کنید.
نویسنده (AUTHOR)
بنیاد MariaDB (http://www.mariadb.org).
| 5 March 2025 | MariaDB 11.8 |