Increasing Ruby interpreter performance by adjusting garbage collector settings

According to Evan Weaver from Twitter it is possible for a typical production Rails app on Ruby 1.8 to recover 20% to 40% of user CPU by simply adjusting Ruby garbage collector settings. In August I set out on a quest to verify that statement on HeiaHeia servers. Results have really exceeded my expectations. Time to execute application tests locally decreased by 46%. On production servers CPU utilisation decreased by almost 40%.

But let’s start from the beginning. I should say right away that we at HeiaHeia are using Ruby Enterprise Edition, so I didn’t have to apply patches to Ruby source code that Evan is talking about in his post. Before starting to analyse GC current usage it will be useful to read a brilliant overview of Ruby garbage collection by Joe Damato. It’ll help to understand what’s going to happen next. It is also useful to read REE documentation on garbage collector performance tuning.

And as before any optimisation it is good to get the reference metrics, so that you know you actually improved something by changing settings, and didn’t make it worse. In this case I measured:

  • number of garbage collector calls when loading HeiaHeia-feed
  • local tests execution time (unit + functional)
  • application server CPU load and average response time

To measure number of garbage collector calls per one page I used Scrap – a nice tool by Chris Heald. Chris also describes the tuning process in great detail, so I’m not going to repeat it – just go and read his blog.

To measure local test execution time I just ran rake test 5 times and took the average of all runs.

To measure application server CPU load and average response time I used NewRelic tool (free version should be enough to do the measurement).

When I first loaded feed page with Scrap enabled I saw 36 GC cycles, and Ruby spend 1.12s in GC cycles (these figures are from the development server, so response time is big). After playing a bit with the settings and monitoring GC cycles number and unused heap after each allocation with Scrap, I ended up with the same settings as Twitter uses in production:

export RUBY_HEAP_MIN_SLOTS=500000
export RUBY_HEAP_SLOTS_INCREMENT=250000
export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
export RUBY_GC_MALLOC_LIMIT=50000000

These settings reduced GC cycles number down to 7 (from 36), and Ruby spent now only 0.62s in GC instead of 1.12s when loading feed page (again, load times are bigger on our development server).

After introducing same settings on my local machine project tests took only 148s – down from 274 seconds before optimisation – a whopping 46% improvement.

We have multiple identical application servers, so I introduced the new settings only on one of the application servers, to compare the results on a live system (during low traffic hours). Here’s the picture from NewRelic:

Server        Instances        Apdex          Resp.time    Throughput    CPU          Memory
hh-app1     3 Instances         0.86      	407 ms       30 rpm      14 %	      349 MB
hh-app2     3 Instances         0.91   	        311 ms	     30 rpm       8 %	      413 MB

hh-app2 had optimised garbage collector. With the same throughput CPU load  was only 8% vs 14% with non-optimised GC. However that improvement came at a cost of increased memory consumption (413M vs 349M). However response time and lower CPU load proved to be a lot more important than memory consumption, so I rolled out the new settings on all production servers.

Making nginx utilise GC settings when spawning Passenger instances is easy, and is well described by Chris. Here are instructions that work nice with server and Nginx setup on Ubuntu as I described in earlier posts.

Create /usr/local/bin/ruby-with-env file (as a root) that will set GC settings in the environment and then launch Ruby:

#!/bin/bash
export RUBY_HEAP_MIN_SLOTS=1500000
export RUBY_HEAP_SLOTS_INCREMENT=500000
export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
export RUBY_GC_MALLOC_LIMIT=50000000
exec "/usr/local/bin/ruby" "$@"
Make this file executable by all:
sudo chmod a+x /usr/local/bin/ruby-with-env
Now tell Passenger to use that file instead of launching Ruby directly – edit /opt/nginx/conf/nginx.conf and replace
passenger_ruby /usr/local/bin/ruby;
with
passenger_ruby /usr/local/bin/ruby-with-env;
Now restart Nginx – and you’ve got yourself a faster Ruby!

Comments

355 responses to “Increasing Ruby interpreter performance by adjusting garbage collector settings”

  1. Ruby GC tuning run my specs 1.5-2times faster. see Basecamp, Twitter and default. Use ruby enterprise to test https://gist.github.com/865706

  2. DavidZoope

    kamagra gel: kamagra oral jelly – acheter kamagra site fiable

  3. Bradleynag

    Kamagra Commander maintenant: kamagra oral jelly – kamagra oral jelly

  4. PeterVof

    Kamagra pharmacie en ligne kamagra pas cher Achetez vos kamagra medicaments

  5. RobertFloob

    https://kamagraprix.com/# Acheter Kamagra site fiable

  6. BillieOxymn

    Acheter Cialis: Achat Cialis en ligne fiable – Tadalafil 20 mg prix en pharmacie tadalmed.shop

  7. Bradleynag

    kamagra pas cher: kamagra livraison 24h – Kamagra pharmacie en ligne

  8. RobertFloob

    https://pharmafst.com/# acheter mГ©dicament en ligne sans ordonnance

  9. PeterVof

    Cialis sans ordonnance 24h Tadalafil sans ordonnance en ligne Tadalafil 20 mg prix sans ordonnance tadalmed.com

  10. BillieOxymn

    Kamagra Commander maintenant: kamagra pas cher – Achetez vos kamagra medicaments

  11. Bradleynag

    Pharmacie Internationale en ligne: pharmacie en ligne – Achat mГ©dicament en ligne fiable pharmafst.com

  12. Bradleynag

    pharmacie en ligne fiable: Pharmacies en ligne certifiees – п»їpharmacie en ligne france pharmafst.com

  13. BernardBroam

    pharmacie en ligne france livraison internationale: Livraison rapide – trouver un mГ©dicament en pharmacie pharmafst.com

  14. PeterVof

    pharmacie en ligne fiable Pharmacie en ligne France pharmacie en ligne pharmafst.shop

  15. Bradleynag

    Pharmacie en ligne Cialis sans ordonnance: Cialis en ligne – Cialis en ligne tadalmed.shop

  16. BernardBroam

    Pharmacie en ligne Cialis sans ordonnance: Tadalafil achat en ligne – Cialis sans ordonnance 24h tadalmed.shop

  17. PeterVof

    pharmacie en ligne livraison europe Medicaments en ligne livres en 24h pharmacies en ligne certifiГ©es pharmafst.shop

  18. BernardBroam

    Tadalafil 20 mg prix en pharmacie: Cialis sans ordonnance 24h – Acheter Viagra Cialis sans ordonnance tadalmed.shop

  19. PeterVof

    achat kamagra kamagra gel Achetez vos kamagra medicaments

  20. BillieOxymn

    Pharmacie en ligne Cialis sans ordonnance: Cialis en ligne – Cialis en ligne tadalmed.shop

  21. BernardBroam

    Pharmacie sans ordonnance: Livraison rapide – pharmacie en ligne avec ordonnance pharmafst.com

  22. Bradleynag

    Pharmacie sans ordonnance: Meilleure pharmacie en ligne – Pharmacie en ligne livraison Europe pharmafst.com

  23. BillieOxymn

    Achat Cialis en ligne fiable: Cialis sans ordonnance pas cher – Cialis sans ordonnance 24h tadalmed.shop

  24. PeterVof

    pharmacie en ligne pharmacie en ligne pas cher vente de mГ©dicament en ligne pharmafst.shop

  25. RobertFloob

    https://pharmafst.com/# trouver un mГ©dicament en pharmacie

  26. BernardBroam

    Acheter Cialis 20 mg pas cher: Acheter Cialis 20 mg pas cher – Tadalafil 20 mg prix sans ordonnance tadalmed.shop

  27. Bradleynag

    п»їpharmacie en ligne france: Pharmacie en ligne France – pharmacies en ligne certifiГ©es pharmafst.com

  28. BillieOxymn

    pharmacie en ligne france pas cher: Livraison rapide – pharmacies en ligne certifiГ©es pharmafst.com

  29. PeterVof

    pharmacie en ligne fiable Livraison rapide Pharmacie sans ordonnance pharmafst.shop

  30. RobertFloob

    http://tadalmed.com/# Acheter Cialis 20 mg pas cher

  31. BernardBroam

    cialis prix: Cialis sans ordonnance pas cher – Pharmacie en ligne Cialis sans ordonnance tadalmed.shop

  32. RobertFloob

    http://tadalmed.com/# Tadalafil 20 mg prix en pharmacie

  33. BernardBroam

    Cialis generique prix: Achat Cialis en ligne fiable – Tadalafil 20 mg prix en pharmacie tadalmed.shop

  34. BernardBroam

    pharmacie en ligne livraison europe: pharmacie en ligne sans ordonnance – pharmacie en ligne avec ordonnance pharmafst.com

  35. RobertFloob

    http://kamagraprix.com/# kamagra en ligne

  36. BernardBroam

    kamagra livraison 24h: kamagra gel – Acheter Kamagra site fiable

  37. RobertFloob

    https://pharmafst.shop/# Pharmacie en ligne livraison Europe

  38. BernardBroam

    kamagra 100mg prix: Kamagra Oral Jelly pas cher – acheter kamagra site fiable

  39. BernardBroam

    pharmacie en ligne france pas cher: Livraison rapide – п»їpharmacie en ligne france pharmafst.com

  40. RobertFloob

    https://tadalmed.com/# Cialis en ligne

  41. BernardBroam

    kamagra oral jelly: Acheter Kamagra site fiable – Acheter Kamagra site fiable

  42. Bradleynag

    pharmacie en ligne avec ordonnance: pharmacie en ligne sans ordonnance – trouver un mГ©dicament en pharmacie pharmafst.com

  43. BillieOxymn

    Tadalafil 20 mg prix sans ordonnance: Tadalafil achat en ligne – Tadalafil 20 mg prix sans ordonnance tadalmed.shop

  44. PeterVof

    pharmacie en ligne fiable pharmacie en ligne acheter mГ©dicament en ligne sans ordonnance pharmafst.shop

  45. BernardBroam

    Cialis sans ordonnance 24h: Tadalafil achat en ligne – Achat Cialis en ligne fiable tadalmed.shop

  46. Bradleynag

    Tadalafil achat en ligne: Tadalafil 20 mg prix sans ordonnance – Tadalafil 20 mg prix sans ordonnance tadalmed.shop

  47. Stevenident

    indian pharmacy online: indian pharmacy online shopping – п»їlegitimate online pharmacies india

  48. Michaelontof

    Medicine From India indian pharmacy online shopping indian pharmacy online shopping

  49. DannyMagek

    cheap canadian pharmacy online: ExpressRxCanada – canadian pharmacy prices

  50. WalterElony

    https://expressrxcanada.shop/# onlinecanadianpharmacy

  51. MichaelFuH

    canadian pharmacy 24h com: the canadian drugstore – canadian pharmacy

  52. Stevenident

    reputable mexican pharmacies online: Rx Express Mexico – Rx Express Mexico

  53. Michaelontof

    canadian pharmacy reviews Buy medicine from Canada onlinepharmaciescanada com

  54. DannyMagek

    canadian pharmacy 24h com: my canadian pharmacy reviews – legal to buy prescription drugs from canada

  55. WalterElony

    http://medicinefromindia.com/# Medicine From India

  56. MichaelFuH

    pharmacy in canada: Express Rx Canada – canadian pharmacy king reviews

  57. Stevenident

    indian pharmacy online: Medicine From India – Medicine From India

  58. Michaelontof

    ed meds online canada ExpressRxCanada canadian pharmacy india

  59. DannyMagek

    Medicine From India: indian pharmacy – medicine courier from India to USA

  60. WalterElony

    https://expressrxcanada.com/# pharmacies in canada that ship to the us

  61. Stevenident

    mexico pharmacies prescription drugs: mexican rx online – best online pharmacies in mexico

  62. DannyMagek

    Medicine From India: indian pharmacy online – Medicine From India

  63. WalterElony
  64. Michaelontof

    indian pharmacy online medicine courier from India to USA MedicineFromIndia

  65. Stevenident

    reputable canadian online pharmacy: Generic drugs from Canada – canadian pharmacy drugs online

  66. MichaelFuH

    Online medicine home delivery: indian pharmacy online – indian pharmacy

  67. DannyMagek

    Rx Express Mexico: mexico pharmacy order online – mexican rx online

  68. WalterElony

    http://medicinefromindia.com/# medicine courier from India to USA

  69. Stevenident

    canadian drug pharmacy: canadian pharmacy online – canadian pharmacy 24 com

  70. Michaelontof

    thecanadianpharmacy Buy medicine from Canada safe canadian pharmacies

  71. MichaelFuH

    Rx Express Mexico: Rx Express Mexico – pharmacies in mexico that ship to usa

  72. DannyMagek

    mexico pharmacies prescription drugs: mexico pharmacies prescription drugs – medicine in mexico pharmacies

  73. Stevenident

    canada drugs online review: prescription drugs canada buy online – legitimate canadian online pharmacies

  74. WalterElony

    https://expressrxcanada.com/# safe canadian pharmacy

  75. Michaelontof

    canada drugs online real canadian pharmacy maple leaf pharmacy in canada

  76. MichaelFuH

    buying prescription drugs in mexico online: Rx Express Mexico – mexican rx online

  77. DannyMagek

    mexico pharmacy order online: mexico pharmacies prescription drugs – mexico pharmacies prescription drugs

  78. Stevenident

    pharmacies in mexico that ship to usa: Rx Express Mexico – RxExpressMexico

  79. WalterElony

    https://expressrxcanada.com/# reliable canadian pharmacy reviews

  80. Michaelontof

    Medicine From India indian pharmacy online shopping Online medicine order

  81. MichaelFuH

    mexico pharmacies prescription drugs: RxExpressMexico – mexico pharmacy order online

  82. DannyMagek

    mexico pharmacy order online: Rx Express Mexico – mexico drug stores pharmacies

  83. WalterElony
  84. Stevenident

    indian pharmacy online shopping: indian pharmacy online shopping – Medicine From India

  85. Richardzof

    vavada вход вавада официальный сайт вавада официальный сайт

  86. ElmerHeelp

    пин ап вход: пин ап зеркало – пин ап казино официальный сайт

  87. KennethGeabs

    вавада: вавада – вавада казино

  88. ElmerHeelp

    pin up az: pin up casino – pin up az

  89. Richardzof

    pin up вход пин ап зеркало пин ап казино официальный сайт

  90. Zackaryboync

    https://pinuprus.pro/# пин ап казино

  91. Zackaryboync

    https://pinuprus.pro/# pin up вход

  92. Richardzof

    pin-up pin up az pin-up

  93. ElmerHeelp

    vavada casino: вавада казино – вавада

  94. KennethGeabs

    pin up azerbaycan: pin up az – pinup az

  95. ElmerHeelp

    pin up вход: пин ап казино – пинап казино

  96. Zackaryboync

    http://pinuprus.pro/# пин ап казино

  97. Richardzof

    вавада официальный сайт вавада казино vavada вход

  98. KennethGeabs

    вавада официальный сайт: вавада официальный сайт – вавада

  99. ElmerHeelp

    pin-up: pin-up – pinup az

  100. Brianjuide

    pin up az: pin up az – pin up

  101. Zackaryboync

    http://pinuprus.pro/# пин ап зеркало

  102. Richardzof

    пин ап казино официальный сайт пин ап зеркало пинап казино

  103. KennethGeabs

    pin up вход: пин ап вход – пин ап зеркало

  104. Brianjuide

    вавада официальный сайт: вавада казино – вавада официальный сайт

  105. ElmerHeelp

    пин ап казино официальный сайт: пин ап вход – пин ап казино

  106. Zackaryboync
  107. Richardzof

    пин ап зеркало пин ап казино пин ап казино

  108. Brianjuide

    vavada: вавада казино – vavada

  109. KennethGeabs

    pin up az: pin up casino – pinup az

  110. ElmerHeelp

    pinup az: pin-up casino giris – pin up

  111. Zackaryboync

    https://pinuprus.pro/# пин ап казино

  112. Brianjuide

    вавада зеркало: вавада официальный сайт – вавада официальный сайт

  113. ElmerHeelp

    pin up az: pin up – pin-up

  114. Zackaryboync

    http://pinuprus.pro/# пин ап казино официальный сайт

  115. Brianjuide

    pinup az: pin-up – pin up azerbaycan

  116. ElmerHeelp

    вавада казино: вавада зеркало – vavada casino

  117. Brianjuide

    pin up вход: pin up вход – пин ап вход

  118. Richardzof

    пин ап казино официальный сайт пин ап зеркало пин ап вход

  119. KennethGeabs

    pin-up: pinup az – pinup az

  120. Zackaryboync

    https://pinuprus.pro/# пин ап вход

  121. Brianjuide

    пин ап казино официальный сайт: пинап казино – пин ап зеркало

  122. KennethGeabs

    пин ап казино: пин ап зеркало – пин ап зеркало

  123. Richardzof

    пин ап вход пин ап вход пин ап казино официальный сайт

  124. Zackaryboync

    https://vavadavhod.tech/# вавада зеркало

  125. ElmerHeelp

    пинап казино: пинап казино – пин ап казино официальный сайт

  126. Zackaryboync

    https://vavadavhod.tech/# vavada вход

  127. KennethGeabs

    пин ап казино: пин ап казино официальный сайт – пинап казино

  128. Richardzof

    pin up azerbaycan pin up casino pin up casino

  129. Brianjuide

    pin-up casino giris: pin-up casino giris – pin up casino

  130. ElmerHeelp

    пин ап зеркало: пин ап зеркало – пин ап казино

  131. Zackaryboync

    https://pinuprus.pro/# пин ап зеркало

  132. KennethGeabs

    pin up az: pin up casino – pin up

  133. Richardzof

    pin up pin-up casino giris pin-up casino giris

  134. Brianjuide

    vavada вход: вавада зеркало – vavada

  135. ElmerHeelp

    vavada casino: вавада – vavada casino

  136. KennethGeabs

    vavada casino: вавада – вавада казино

  137. Richardzof

    vavada casino вавада vavada casino

  138. ElmerHeelp

    вавада: вавада официальный сайт – vavada вход

  139. KennethGeabs

    пин ап вход: пин ап зеркало – пин ап казино

  140. Richardzof

    pin up вход пин ап казино пин ап казино

  141. Zackaryboync

    https://pinuprus.pro/# пин ап зеркало

  142. KennethGeabs

    вавада: vavada вход – вавада

  143. ElmerHeelp

    вавада зеркало: vavada casino – vavada вход

  144. KennethGeabs

    вавада зеркало: vavada casino – вавада зеркало

  145. ElmerHeelp

    вавада казино: vavada casino – вавада казино

  146. ElmerHeelp

    пинап казино: пин ап казино – пин ап казино

  147. KennethGeabs

    pin-up: pin-up casino giris – pin up az

  148. Richardzof

    пин ап казино пинап казино пинап казино

  149. Zackaryboync

    http://pinupaz.top/# pin up azerbaycan

  150. ElmerHeelp

    pin up casino: pin-up – pin-up

  151. Richardzof

    вавада казино vavada вход вавада

  152. ElmerHeelp

    pin up вход: пин ап зеркало – пин ап вход

  153. KennethGeabs

    pin up az: pin-up – pin up az

  154. Zackaryboync
  155. Richardzof

    pin up azerbaycan pin-up casino giris pin up azerbaycan

  156. ElmerHeelp

    пин ап казино: пин ап казино официальный сайт – пин ап зеркало

  157. Zackaryboync

    https://vavadavhod.tech/# vavada вход

  158. KennethGeabs

    vavada: vavada вход – вавада

  159. Richardzof

    вавада вавада казино вавада казино

  160. ElmerHeelp

    pin up вход: пин ап вход – пинап казино

  161. KennethGeabs

    вавада: vavada вход – vavada вход

  162. Richardzof

    pin up az pin up pin-up casino giris

  163. ElmerHeelp

    пин ап зеркало: пинап казино – пинап казино

  164. Zackaryboync
  165. ElmerHeelp

    pin-up casino giris: pin up casino – pin up az

  166. KennethGeabs

    пинап казино: пинап казино – пин ап зеркало

  167. Richardzof

    вавада зеркало вавада казино vavada casino

  168. Zackaryboync

    https://pinuprus.pro/# pin up вход

  169. ElmerHeelp

    пин ап вход: пин ап вход – пин ап зеркало

  170. Richardzof

    vavada casino вавада казино vavada

  171. KennethGeabs

    вавада: vavada casino – vavada casino

  172. ElmerHeelp

    вавада зеркало: вавада казино – vavada casino

  173. KennethGeabs

    pin up azerbaycan: pin up casino – pin up casino

  174. Zackaryboync

    https://pinupaz.top/# pin-up casino giris

  175. ElmerHeelp

    pin up: pin up az – pin up

  176. Richardzof

    vavada вход вавада вавада

  177. KennethGeabs

    pin up: pin up azerbaycan – pin up azerbaycan

  178. Zackaryboync
  179. ElmerHeelp

    пин ап казино официальный сайт: пин ап казино – pin up вход

  180. KennethGeabs

    пинап казино: пин ап вход – пин ап вход

  181. Richardzof

    vavada casino вавада вавада

  182. Zackaryboync

    http://pinuprus.pro/# пин ап казино официальный сайт

  183. ElmerHeelp

    пин ап казино: пин ап вход – пин ап зеркало

  184. With havin so much content and articles do you ever run into any issues of plagorism or copyright violation? My website has
    a lot of completely unique content I’ve either authored
    myself or outsourced but it seems a lot of it is popping
    it up all over the internet without my authorization. Do you know any ways to help prevent
    content from being ripped off? I’d genuinely appreciate it.

  185. Hi would you mind letting me know which webhost you’re using?
    I’ve loaded your blog in 3 completely different internet browsers and
    I must say this blog loads a lot faster then most.
    Can you suggest a good hosting provider
    at a reasonable price? Thanks, I appreciate it!

  186. KennethGeabs

    pin up azerbaycan: pin up azerbaycan – pin-up casino giris

  187. Richardzof

    pin-up pin up casino pin-up casino giris

  188. Zackaryboync

    https://pinuprus.pro/# pin up вход

  189. ElmerHeelp

    пинап казино: pin up вход – пин ап зеркало

  190. KennethGeabs

    pin up: pinup az – pin up az

  191. Richardzof

    пин ап вход пин ап казино официальный сайт пин ап казино официальный сайт

  192. Zackaryboync
  193. ElmerHeelp

    vavada вход: vavada вход – вавада официальный сайт

  194. What’s Happening i am new to this, I stumbled upon this I have discovered
    It absolutely helpful and it has helped me out loads. I’m
    hoping to contribute & assist other users like its aided me.
    Great job.

  195. KennethGeabs

    vavada: вавада зеркало – вавада казино

  196. ElmerHeelp

    pin up az: pin up casino – pin up casino

  197. KennethGeabs

    pin-up casino giris: pin up azerbaycan – pin-up

  198. Zackaryboync

    http://pinuprus.pro/# пин ап зеркало

  199. Richardzof

    pin up вход пин ап казино официальный сайт пинап казино

  200. What’s up, just wanted to tell you, I enjoyed this post.

    It was helpful. Keep on posting!

  201. Zackaryboync
  202. KennethGeabs

    пин ап вход: пинап казино – пин ап зеркало

  203. Richardzof

    пин ап зеркало пинап казино пин ап казино официальный сайт

  204. Zackaryboync
  205. KennethGeabs

    pin up casino: pin-up – pin-up casino giris

  206. ElmerHeelp

    vavada casino: vavada вход – вавада официальный сайт

  207. You actually make it seem so easy with your presentation but I find this topic to be actually something which
    I think I would never understand. It seems too complicated and extremely broad
    for me. I’m looking forward for your next post, I will try to get the hang of it!

  208. Zackaryboync

    http://pinupaz.top/# pin up casino

  209. An outstanding share! I have just forwarded this onto
    a friend who had been conducting a little research on this.

    And he actually bought me breakfast simply because I found it
    for him… lol. So let me reword this…. Thank
    YOU for the meal!! But yeah, thanx for spending some time
    to talk about this matter here on your site.

  210. KennethGeabs

    pin up casino: pin-up – pin up azerbaycan

  211. ElmerHeelp

    pinup az: pin up – pin up casino

  212. Richardzof

    вавада вавада казино вавада зеркало

  213. KennethGeabs

    pin-up casino giris: pin up az – pin up az

  214. ElmerHeelp

    пинап казино: пин ап казино – пин ап казино

  215. Hello! I’ve been following your weblog for some time now and finally got
    the bravery to go ahead and give you a shout out from Porter Texas!

    Just wanted to mention keep up the fantastic job!

  216. I pay a visit every day a few websites and blogs to
    read content, however this webpage provides quality
    based articles.

  217. Richardzof

    пинап казино пинап казино пин ап казино официальный сайт

  218. Zackaryboync

    http://vavadavhod.tech/# вавада официальный сайт

  219. KennethGeabs

    пин ап зеркало: пин ап казино – пин ап вход

  220. ElmerHeelp

    пин ап вход: пин ап вход – пин ап вход

  221. Richardzof

    вавада vavada вход vavada

  222. Zackaryboync

    http://pinupaz.top/# pin up casino

  223. RobertJeale

    affordable ED medication: best price Cialis tablets – FDA approved generic Cialis

  224. Lorenzomug

    affordable ED medication online Cialis pharmacy reliable online pharmacy Cialis

  225. RonaldroT
  226. Jeremyroats

    fast Viagra delivery: safe online pharmacy – legit Viagra online

  227. RobertJeale

    Cialis without prescription: best price Cialis tablets – online Cialis pharmacy

  228. RonaldroT

    http://modafinilmd.store/# verified Modafinil vendors

  229. Albertohex

    buy generic Cialis online: best price Cialis tablets – online Cialis pharmacy

  230. Lorenzomug

    doctor-reviewed advice Modafinil for sale modafinil 2025

  231. Jeremyroats

    modafinil pharmacy: Modafinil for sale – Modafinil for sale

  232. RobertJeale

    Viagra without prescription: best price for Viagra – buy generic Viagra online

  233. Albertohex

    same-day Viagra shipping: cheap Viagra online – generic sildenafil 100mg

  234. RonaldroT

    https://maxviagramd.shop/# best price for Viagra

  235. RobertJeale

    Cialis without prescription: online Cialis pharmacy – generic tadalafil

  236. Lorenzomug

    secure checkout ED drugs order Cialis online no prescription Cialis without prescription

  237. Albertohex

    buy modafinil online: Modafinil for sale – purchase Modafinil without prescription

  238. Jeremyroats

    Viagra without prescription: no doctor visit required – trusted Viagra suppliers

  239. 350fairfax nordvpn
    Hi there to every body, it’s my first pay a visit of this web site; this web site consists of amazing and in fact excellent data
    designed for visitors.

  240. Lorenzomug

    modafinil 2025 doctor-reviewed advice buy modafinil online

  241. Albertohex

    verified Modafinil vendors: safe modafinil purchase – buy modafinil online

  242. Jeremyroats

    generic tadalafil: order Cialis online no prescription – FDA approved generic Cialis

  243. RobertJeale

    buy generic Cialis online: reliable online pharmacy Cialis – reliable online pharmacy Cialis

  244. Albertohex

    cheap Cialis online: order Cialis online no prescription – affordable ED medication

  245. Lorenzomug

    generic sildenafil 100mg safe online pharmacy cheap Viagra online

  246. RobertJeale

    generic tadalafil: buy generic Cialis online – online Cialis pharmacy

  247. Jeremyroats

    generic sildenafil 100mg: secure checkout Viagra – best price for Viagra

  248. Albertohex

    online Cialis pharmacy: Cialis without prescription – reliable online pharmacy Cialis

  249. RonaldroT

    https://zipgenericmd.com/# order Cialis online no prescription

  250. Lorenzomug

    online Cialis pharmacy cheap Cialis online Cialis without prescription

  251. RobertJeale

    Viagra without prescription: discreet shipping – no doctor visit required

  252. Jeremyroats

    buy generic Viagra online: legit Viagra online – best price for Viagra

  253. Albertohex

    secure checkout ED drugs: reliable online pharmacy Cialis – Cialis without prescription

  254. Lorenzomug

    buy generic Cialis online affordable ED medication order Cialis online no prescription

  255. RobertJeale

    safe modafinil purchase: safe modafinil purchase – legal Modafinil purchase

  256. Albertohex

    secure checkout Viagra: trusted Viagra suppliers – safe online pharmacy

  257. RonaldroT

    https://maxviagramd.com/# legit Viagra online

  258. RobertJeale

    buy modafinil online: buy modafinil online – purchase Modafinil without prescription

  259. Albertohex

    Cialis without prescription: FDA approved generic Cialis – affordable ED medication

  260. Jeremyroats

    generic tadalafil: discreet shipping ED pills – generic tadalafil

  261. RobertJeale

    generic sildenafil 100mg: Viagra without prescription – legit Viagra online

  262. Albertohex

    best price for Viagra: buy generic Viagra online – generic sildenafil 100mg

  263. Jeremyroats

    buy modafinil online: doctor-reviewed advice – verified Modafinil vendors

  264. RobertJeale

    purchase Modafinil without prescription: safe modafinil purchase – buy modafinil online

  265. RonaldroT

    https://zipgenericmd.shop/# order Cialis online no prescription

  266. Albertohex

    buy generic Viagra online: trusted Viagra suppliers – no doctor visit required

  267. Lorenzomug

    discreet shipping ED pills online Cialis pharmacy order Cialis online no prescription

  268. Jeremyroats

    discreet shipping: safe online pharmacy – order Viagra discreetly

  269. RobertJeale

    secure checkout Viagra: trusted Viagra suppliers – generic sildenafil 100mg

  270. Albertohex

    legit Viagra online: best price for Viagra – order Viagra discreetly

  271. RonaldroT

    http://zipgenericmd.com/# cheap Cialis online

  272. Lorenzomug

    order Viagra discreetly fast Viagra delivery no doctor visit required

  273. Jeremyroats

    discreet shipping: fast Viagra delivery – same-day Viagra shipping

  274. RobertJeale

    generic sildenafil 100mg: buy generic Viagra online – best price for Viagra

  275. Albertohex

    order Cialis online no prescription: affordable ED medication – generic tadalafil

  276. RonaldroT

    http://modafinilmd.store/# Modafinil for sale

  277. OscarCaB

    amoxicillin 500mg capsules price: cost of amoxicillin 875 mg – buy amoxicillin over the counter uk

  278. Russellelifs

    5 prednisone in mexico: PredniHealth – generic prednisone for sale

  279. Judsonrot

    can you buy amoxicillin uk: Amo Health Care – Amo Health Care

  280. Matthewlonna

    PredniHealth PredniHealth steroids prednisone for sale

  281. OscarCaB

    Amo Health Care: Amo Health Care – Amo Health Care

  282. Russellelifs

    prednisone 5 mg tablet cost: PredniHealth – PredniHealth

  283. Judsonrot

    can i order cheap clomid: Clom Health – generic clomid without rx

  284. Rogerdom

    https://prednihealth.com/# buy prednisone online australia

  285. Matthewlonna

    can you buy generic clomid pill get clomid cost of generic clomid pills

  286. OscarCaB

    cost of amoxicillin 875 mg: amoxicillin 500mg for sale uk – amoxil pharmacy

  287. Judsonrot

    PredniHealth: 50mg prednisone tablet – PredniHealth

  288. Rogerdom

    https://amohealthcare.store/# where to buy amoxicillin 500mg

  289. Matthewlonna

    Amo Health Care amoxicillin 500mg buy online uk purchase amoxicillin 500 mg

  290. OscarCaB

    prednisone cream: prednisone medication – PredniHealth

  291. Russellelifs

    can i buy amoxicillin online: Amo Health Care – Amo Health Care

  292. Judsonrot

    where can i buy clomid without rx: Clom Health – can you get clomid for sale

  293. Rogerdom

    https://clomhealth.com/# can i purchase clomid no prescription

  294. Matthewlonna

    Amo Health Care Amo Health Care Amo Health Care

  295. Russellelifs

    generic amoxicillin 500mg: buy amoxicillin over the counter uk – Amo Health Care

  296. OscarCaB

    clomid online: can i get generic clomid without rx – can i purchase generic clomid

  297. Matthewlonna

    can you get generic clomid without insurance can i buy clomid without prescription buying clomid

  298. Russellelifs

    prednisone 80 mg daily: PredniHealth – prednisone 50 mg prices

  299. Rogerdom
  300. Russellelifs

    buying clomid without prescription: how to buy generic clomid online – cost cheap clomid online

  301. Matthewlonna

    Amo Health Care Amo Health Care Amo Health Care

  302. OscarCaB

    how to get generic clomid for sale: cheap clomid online – can i get clomid without prescription

  303. Rogerdom

    https://amohealthcare.store/# amoxicillin for sale

  304. Russellelifs

    Amo Health Care: buy amoxicillin 500mg – Amo Health Care

  305. Matthewlonna

    canadian pharmacy amoxicillin Amo Health Care amoxicillin tablets in india

  306. LorenAmave

    tadalafil citrate powder: cialis voucher – cialis manufacturer coupon lilly

  307. Frankieruisa

    https://tadalaccess.com/# cialis in las vegas

  308. ScottMem

    cialis coupon walgreens: how long does cialis stay in your system – cialis for prostate

  309. JosephDiubS

    oryginal cialis Tadal Access cialis milligrams

  310. LorenAmave

    cialis picture: Tadal Access – cialis overnight deleivery

  311. Frankieruisa

    https://tadalaccess.com/# printable cialis coupon

  312. LorenAmave

    buy cialis without doctor prescription: cheap cialis pills – cialis 5 mg price

  313. Frankieruisa

    https://tadalaccess.com/# buy tadalafil cheap online

  314. ScottMem

    cialis price cvs: cialis from mexico – where to buy tadalafil online

  315. LorenAmave

    cialis as generic: us cialis online pharmacy – combitic global caplet pvt ltd tadalafil

  316. Frankieruisa

    https://tadalaccess.com/# what are the side effect of cialis

  317. JosephDiubS

    trusted online store to buy cialis cialis testimonials cialis effect on blood pressure

  318. ScottMem

    cialis tubs: Tadal Access – does tadalafil lower blood pressure

  319. LorenAmave

    what does cialis cost: cialis priligy online australia – generic cialis tadalafil 20 mg from india

  320. Frankieruisa

    https://tadalaccess.com/# cialis 10mg price

  321. JosephDiubS

    cialis online without a prescription TadalAccess generic tadalafil tablet or pill photo or shape

  322. LorenAmave

    cialis commercial bathtub: cheap tadalafil no prescription – us cialis online pharmacy

  323. Frankieruisa

    https://tadalaccess.com/# cialis generic overnite shipping

  324. JosephDiubS

    cialis generic 20 mg 30 pills cialis buy cialis super active plus

  325. ScottMem

    what is the difference between cialis and tadalafil?: TadalAccess – best place to get cialis without pesricption

  326. Frankieruisa

    https://tadalaccess.com/# buy cialis online safely

  327. JosephDiubS

    cialis online aust TadalAccess best price on generic tadalafil

  328. ScottMem

    best place to buy tadalafil online: TadalAccess – what doe cialis look like

  329. Frankieruisa

    https://tadalaccess.com/# side effects of cialis

  330. JosephDiubS

    cialis for bph reviews tadalafil troche reviews cialis dosage for bph

  331. LorenAmave

    cialis paypal canada: Tadal Access – cialis from mexico

  332. JosephDiubS

    what does cialis do Tadal Access where to buy cialis

  333. LorenAmave

    tadalafil dapoxetine tablets india: cialis professional vs cialis super active – cialis recreational use

  334. ScottMem

    cialis mexico: TadalAccess – tadalafil long term usage

  335. JosephDiubS

    cialis tadalafil cheapest online cialis black review cialis no prescription

  336. LorenAmave

    cialis headache: cialis soft – when will cialis be over the counter

  337. JosephDiubS

    tadalafil citrate liquid Tadal Access india pharmacy cialis

  338. LorenAmave

    sublingual cialis: Tadal Access – generic tadalafil 40 mg

  339. JosephDiubS

    cialis one a day with dapoxetine canada achats produit tadalafil pour femme en ligne what happens when you mix cialis with grapefruit?

  340. Frankieruisa

    https://tadalaccess.com/# cialis prescription online

  341. ScottMem

    what does cialis look like: vigra vs cialis – cialis not working first time

  342. LorenAmave

    cialis commercial bathtub: oryginal cialis – cialis walgreens

  343. Frankieruisa

    https://tadalaccess.com/# cialis cheapest prices

  344. JosephDiubS

    why is cialis so expensive TadalAccess cialis 20mg for sale

  345. ScottMem

    when is the best time to take cialis: generic cialis super active tadalafil 20mg – cialis pill

  346. Frankieruisa

    https://tadalaccess.com/# tadalafil medication

  347. JosephDiubS

    cialis 100 mg usa TadalAccess can you drink wine or liquor if you took in tadalafil

  348. ScottMem

    buy cialis in canada: does cialis shrink the prostate – cialis what is it

  349. LorenAmave

    cialis for daily use reviews: Tadal Access – when does cialis go off patent

  350. Frankieruisa

    https://tadalaccess.com/# maximum dose of cialis in 24 hours

  351. JosephDiubS

    tadalafil generic cialis 20mg [url=https://tadalaccess.com/#]buy liquid tadalafil online[/url] cialis and cocaine

  352. ScottMem

    where to buy cialis cheap: TadalAccess – where can i buy cialis on line

  353. LorenAmave

    cialis 800 black canada: TadalAccess – cialis 20 mg duration

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.