داشتم پروژه django شرکت رو میخوندم یک مشکل داریم سر بعضی endpointها و برخی تسکها. اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم. چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد. ولی redis منابعش بیشتر از حد مورد نیازش بود.
حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده رو هم خود redis داده (هرچند من برعکس بهش رسیدم)
$ pip install "redis[hiredis]"
بجای اینکه برای parse کردن دیتا از python استفاده کنه وقتی hiredis رو نصب کنید از C استفاده میکنه (بنچمارکاش هم توی گیتهاب hiredis هست ببینید)
مشکل خیلی ساده حل شد؛ ولی برای این حل ساده خیلی زمان و درک profiling لازم بود.
داشتم پروژه django شرکت رو میخوندم یک مشکل داریم سر بعضی endpointها و برخی تسکها. اولین کاری کردم این بوده که یک سری دیتا تست با faker بهش دادم مثه loadtest ولی بدون ابزار و بعد هم profiling گرفتم و ذخیره کردم. چیز جالبی که دیدم؛ پروژه موقع کار کردن با redis به مشکل میخورد. ولی redis منابعش بیشتر از حد مورد نیازش بود.
حجم دیتاهای تست رو کم کردم و مشکل حل شد؛ توی چندتا تست مختلف که زدم دیدم مسئله و مشگل از سمت پیکج redis هست توی پایتون و راهکار ساده رو هم خود redis داده (هرچند من برعکس بهش رسیدم)
$ pip install "redis[hiredis]"
بجای اینکه برای parse کردن دیتا از python استفاده کنه وقتی hiredis رو نصب کنید از C استفاده میکنه (بنچمارکاش هم توی گیتهاب hiredis هست ببینید)
مشکل خیلی ساده حل شد؛ ولی برای این حل ساده خیلی زمان و درک profiling لازم بود.
اهمیت profiling
BY Python Hints
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”